Si nous courons le Jenkins esclave en tant que git service Windows ne parvient pas à chercher avec l'erreurGit ne fonctionne pas lorsque Jenkins esclave est en cours d'exécution en tant que service Windows
The server's host key is not cached in the registry
Le service est en cours d'exécution en tant qu'utilisateur de domaine spécifique nous avons mis en place en utilisant du mastic. Si nous nous connectons à la machine avec cet utilisateur, Git Bash fonctionne sans demander de mot de passe, donc la clé SSH est configurée correctement.
Nous avons découvert que si vous utilisez la ligne de commande pour démarrer l'esclave Jenkins sous l'utilisateur, nous définissons la clé SSH comme la construction fonctionne. La commande que nous utilisons est
javaws http://brick:8083/computer/nsw-buildbox1/slave-agent.jnlp
Cela fonctionne parfaitement bien. Je suspecte que malgré le fait que le service fonctionne toujours comme le même utilisateur de domaine il y a quelque chose de différent où il ne peut pas trouver le dossier .ssh. Quelqu'un at-il rencontré ce problème et connaissez-vous un moyen de le réparer? Où un service Windows recherche-t-il les hôtes connus?
savoir Même nous avons une solution de contournement, il signifie que si vous redémarrez la machine la construction ne fonctionnera pas jusqu'à ce que vous vous connectez et exécutez la commande de démarrage
Sur l'utilisateur, nous avons le service en cours d'exécution car il a déjà une entrée dans cette voie. L'exécution d'un service Windows en tant qu'utilisateur spécifique (pas de système local ou d'utilisateur réseau) a-t-elle une autre ruche que si vous vous connectez réellement avec cet utilisateur? si oui, où est-il situé –
Chaque utilisateur a sa propre ruche de registre. C'est dans le profil de l'utilisateur. Le tristement célèbre fichier 'USER.DAT'. –
Ok, donc si vous avez un utilisateur appelé Bob et sous le service que vous définissez pour commencer à utiliser Bob au lieu du système local, ne pas utiliser le même User.Dat dans C: \ users \ Bob \ NTUSER.Dat (je suppose c'est le NTUSER.Dat pour Win7). Cela ne peut pas être le cas car cela fonctionne lorsque nous l'exécutons à partir de la ligne de commande pour cet utilisateur. alors quel fichier .dat un service Windows utiliserait-il? –