Voy a ser muy sorprendido si alguien tiene la respuesta a esto. He buscado en google durante mucho tiempo, pero no hubo suerte.
Como un desarrollador iOS que en breve será la bienvenida a un nuevo miembro del equipo que quiero configurar un servidor de integración continua, de manera que cualquier persona que verifica en el código dará el pistoletazo de salida de una generación, lo que a su vez establecer el estado de una generación de luz proporciona una indicación visual de código de estado. Si la construcción de los saltos de no permanecer de esa manera por mucho tiempo, porque vamos a ver una gran luz roja.
Los ingredientes que he elegido para realizar este trabajo se Jenkins, Git y un Mac mini. Día a día no voy a tener acceso físico a la mini, pero la acumulación de la luz es controlada por ethernet, no hay problema.
El primer paso en la obtención de Jenkins para gestionar una generación es clonar el repositorio git. Por razones obvias, se descarta cualquier código viejo y agarra una copia de todo el repositorio. Estoy usando git "URL del Repositorio" de gitfella@boardroom.local:repo/ProjectName.git
. Naturalmente, hice 'su - jenkins'
y convertirse en usuario jenkins, luego de pasar por el proceso de scp id_rsa.pub gitfella@boardroom.local
. Como gitfella I anexa que la clave pública de a authorized_hosts
.
La sorpresa vino cuando fui a volver a ser usuario de jenkins y trató ssh gitfella@boardroom.local
- me pidió la contraseña para jenkins. En esta etapa me di cuenta de que el repositorio clon estaba fallando porque la frase no podía ser introducido mientras Jenkins fue corriendo sin un shell interactivo.
La forma de obtener la contraseña en el llavero es ssh-add -K
(y antes de que Lion no recuerdo tener que hacer esto alguna vez), pero esto no funciona en un shell ssh, se produce un error con el mensaje Could not open a connection to your authentication agent.
de Ejecución ssh-agent
muestra las variables de entorno que necesita ser ajustado para permitir que esto suceda, y una vez hecho ssh-add -K
obras. A continuación, el git clone es ACEPTAR. Entonces pensé que el problema estaba resuelto, pero el próximo ssh login me preguntan por la contraseña de nuevo.
Ahora tengo el git clone fase de la acumulación de trabajo, pero preferiría no tener que quitar la frase de contraseña de Jenkins totalmente...
¿Cómo puede el ssh-agent valores se establezca en cada una de las invocaciones de este Jenkins proceso de construcción? Jenkins se inicia mediante la ejecución de launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
- sería posible establecer el ssh-agent
entorno en el aquí de alguna manera? Estos ajustes se conservan mientras Jenkins (al inicio)? Soy reacio a meterse con este ahora tengo este pequeño problema en su mayoría ordenados, pero tal vez algún experto sabe que el derecho de corrección.