Usando ssh-agent con jenkins mientras sondea SCM

Estoy usando el plugin ssh-agent de Jenkins para dar cnetworkingenciales ssh a mis comstackciones que funciona perfectamente, sin embargo, lo tengo configurado para sondear el scm (en este caso, bitbucket git) para verificar los cambios.

Y, por supuesto, para acceder al repository a fin de sondear los cambios también necesita esas cnetworkingenciales de ssh, no puedo encontrar nada relacionado con esto en el wiki, pero debe haber una manera de hacerlo.

Parece una tontería que ellos no lo hayan implementado, después de todo, si necesitas cnetworkingenciales de ssh para clonar y build, también las necesitarías para sondear ¿verdad?

Solutions Collecting From Web of "Usando ssh-agent con jenkins mientras sondea SCM"

Quitar la frase de contraseña de la key SSH es un paso inaceptable.

Se espera que el plugin jenkins ssh-agent resuelva este problema, pero hasta ahora puedo decir que actualmente está roto en lo que respecta al sondeo:

https://issues.jenkins-ci.org/browse/JENKINS-21226

No he encontrado un medio viable y seguro para implementar la comunicación del server basada en ssh que también cubra el sondeo, a partir de Jenkins 1.545.

Supongamos que sus trabajos se ejecutan en el maestro de Jenkins. Para poder hacer sondeos para Git Repo que requieren connection SSL:

  1. Haga una copy de security de su key privada.
  2. Elimine la frase de contraseña de su key privada con esa única solución: ¿Cómo elimino la contraseña de la key SSH sin tener que crear una nueva key?
  3. Agregue una key privada sin contraseña a su server Jenkins en la subcarpeta dir + .ssh de Jenkins fe fe para CEntOS está en /var/lib/jenkins/.ssh. Asegúrese de que solo el usuario de jenkins pueda acceder a esa key (use chmod 600 y chown jenkins: jenkins para eso).
  4. En Jenkins's Cnetworkingential Manager agregue una nueva key SSH con nombre de usuario y especifique la location completa para la key privada configurada fe /var/lib/jenkins/.ssh/id_rsa
  5. Configure su trabajo y especifique las cnetworkingenciales para la configuration de repository de Git y el complemento del agente SSH.

Después de esos pasos, puede realizar sondeos para desencadenar el trabajo cuando sea necesario, así como la clonación y recuperación desde el propio trabajo.

EDITAR: Si bien la solución de abajo aparentemente funciona para el comentarista en ese tema JIRA, no lo hace para mí. Su experiencia puede ser diferente.

Desde la página Configuración de tu trabajo, en Comportamientos adicionales, agrega "Forzar sondeo usando el espacio de trabajo"

Parece haber estado disponible desde septiembre de 2014.

a través de https://issues.jenkins-ci.org/browse/JENKINS-21226?focusedCommentId=210643&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-210643

Hay mucha información acerca de las keys SSH en la información del complemento git:

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

Básicamente, debe instalar las keys en el usuario de CI que ejecuta jenkins como. (El complemento de cnetworkingenciales SSH no está integrado).