¿Por qué Jenkins recibe error de authentication fallida para actualizar el submodule git?

Tengo un trabajo en Jenkins que extrae de un repository de BitBucket que estaba funcionando bien, y todavía lo está. Sin embargo, he agregado un submodule y Jenkins se está ahogando en eso. Aquí hay un clip de la salida de la console Jenkins:

FATAL: command "C: \ Archivos de progtwig (x86) \ Git \ cmd \ git.exe actualización del submodule" devuelto código de estado 1: stdout: clonando en 'submodules / my.repo' …

stderr: fatal: la authentication falló

Estoy usando una key ssh que agregué a mis keys de implementación para el repository principal en BitBucket. Y eso siempre funcionó. Agregué la misma key a las keys de implementación de mi submodule. ¿Alguien puede decirme por qué la authentication está fallando?

Las versiones del plugin git de Jenkins anteriores a 3.0.0 no admitían la authentication de submodules. La authentication de submodule utilizando las mismas cnetworkingenciales y protocolo que el repository principal ahora es compatible con el plugin Jenkins git. El soporte se agregó en la versión del 10 de septiembre de 2016 de Jenkins git plugin 3.0.0.

La parte de configuration de submodule de la página de definición de trabajo ("Comportamientos adicionales"> "Comportamientos de submodules avanzados") "ahora incluye una checkbox" Usar cnetworkingenciales del remoto pnetworkingeterminado del repository principal ". Verifique que las cajas y las cnetworkingenciales del repository padre ser utilizado para los submodules.

Tenga en count que los protocolos de clonación del repository deben ser los mismos (ssh o https) para el repository principal y los submodules; de lo contrario, las cnetworkingenciales principales no se pueden usar con el repository del submodule.

Intenta copyr la carpeta /.shh en el directory de inicio de Jenkins.

Me enfrenté a este problema, con Jenkins Slave (ejecutado como service de Windows). Lo resolví desplegando la key Jenkins SSH en el directory .ssh del usuario del SYSTEM :

 C:\Windows\SysWOW64\config\systemprofile\.ssh\ 

El directory de inicio del sistema varía según la versión del sistema operativo y la configuration. Para identificarlo simplemente eco env. var. %USERPROFILE%

git config –global cnetworkingential.helper wincnetworking

https://help.github.com/articles/caching-your-github-password-in-git/#platform-windows