¿Cuál es el context del server de mi configuration de SCM en Jenkins?

Estamos usando Jenkins para nuestras comstackciones CI. Usamos GIT para nuestro SCM (que en realidad es la revisión del código de Gerrit), y hasta ahora estábamos usando el protocolo git, por lo que no había mucha security involucrada. Hemos decidido comenzar a usar ssh, pero no está funcionando correctamente. Cuando la compilation intenta extraer del repository de Gerrit, recibimos errores que indican que el usuario de Jenkins no puede ser autenticado.

Sé que en Gerrit tenemos que configurar un usuario y almacenar la key SSH para el usuario. De lo que no estoy seguro es de quién es ese usuario.

Obviamente, tenemos un server Jenkins, pero también tenemos un server diferente (un esclavo de Jenkins) como el Espacio de trabajo. No estoy seguro de qué server es el que intenta sondear a Git cuando comienza la compilation. He generado keys SSH en ambos serveres e intenté asociar ambas keys con el usuario en Gerrit, pero recibo un error de cualquier forma.

Entonces mi pregunta es esta: cuando una compilation en Jenkins intenta sondear desde un SCM, ¿es el server principal de Jenkins el que tiene que tener acceso a ese server o es el espacio de trabajo?

¿Estás usando Git Plugin , verdad?

… así que la respuesta a tu pregunta es: ambas. Cuando se encuentra en la página de configuration del trabajo, el SERVIDOR Jenkins intenta validar la "URL del repository" utilizando el usuario del server y las keys ssh. Cuando se ejecuta el trabajo, el Jenkins SLAVE clona el repository utilizando el usuario esclavo y las keys ssh. La mejor manera de trabajar con Git y SSH (o HTTPS) es usar la function "Cnetworkingenciales" ( Plugin de cnetworkingenciales ).