[Update2] Entonces, ¿está bien que cuando ejecuto git desde la CLI me pida la contraseña? Puedo acceder a los servidores de github con la contraseña de la clave privada ssh, pero nunca me preguntan por esto en Jenkins ni les pido que me lo proporcionen. [/ Update2]EC2/AWS, Jenkins, Git, SSH
[Actualización] Sí. Estoy ejecutando esto en una instancia de Ubuntu en EC2. He generado las claves ssh en /var/lib/jenkins/.ssh, que es el usuario que crea Jenkins. Establecí la opción de seguridad en Jenkins para usar usuarios/grupos de Unix. [/ Update]
Estoy tratando de que Jenkins tire de git (github). Me sale el siguiente error:
hudson.plugins.git.GitException: Could not clone [my personal repo]
at hudson.plugins.git.GitAPI.clone(GitAPI.java:245)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1121)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1063)
at hudson.FilePath.act(FilePath.java:832)
at hudson.FilePath.act(FilePath.java:814)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1063)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:581)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:470)
at hudson.model.Run.run(Run.java:1434)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:239)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin [email protected]:bobbylo/Verbify.git /var/lib/jenkins/.jenkins/jobs/build_dev/workspace" returned status code 128:
stdout: Initialized empty Git repository in /var/lib/jenkins/.jenkins/jobs/build_dev/workspace/.git/
stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Ya he ido a través del ssh tutorial Github. He generado una clave privada en una instancia de EC2. Colocado en el directorio .ssh del usuario, jenkins. Puse la clave pública en Github (intenté Desplegar clave + clave SSH normal). He verificado que puedo hacer operaciones git over-the-wire (extracción, clonación, etc.) y que funciona desde la CLI con el usuario. Establecí los permisos de usuario/grupo de Unix correctamente para el usuario (de hecho, cuando lo cambio, veo que el registro de errores cambia en el registro de la consola de Jenkin). Cuando trato de usar el complemento Jenkin git o hago un comando de shell Jenkins, aparece el error anterior.
He leído acerca de ssh-agent y ssh-add y cómo puede vincularlo al script de inicio de shell para que no tenga que introducir una contraseña para cada comando. No estoy seguro de si esto es relevante aquí. .
De lo contrario, no estoy seguro de qué más puedo probar. ¡Cualquier consejo sería de ayuda!
Y http://stackoverflow.com/questions/6515039/jenkins-git-permission-denied-publickey no ayuda? – VonC
Supongo que estás usando Linux?Si es así, entonces Jenkins se está ejecutando como usuario "jenkins". ¿El usuario "jenkins" tiene acceso a las claves SSH necesarias (tal vez en /var/lib/jenkins/.ssh)? – msandiford
Estoy en una caja ubuntu en AWS. Sí, el usuario que estoy usando es jenkins en/var/lib/jenkins – tom