¿Quizás el soporte de GitHub para implementar claves es lo que estás buscando? Para citar esa página:
¿Cuándo debo usar una clave de implementación?
Simple, cuando tiene un servidor que necesita acceso de extracción a un único repositorio privado. Esta clave se adjunta directamente al repositorio en lugar de a una cuenta de usuario personal.
Si eso es lo que ya está intentando y no funciona, es posible que desee actualizar su pregunta con más detalles de las URL que se utilizan, los nombres y la ubicación de los archivos clave, etc.
Ahora para la parte técnica: ¿Cómo usar su clave SSH con Jenkins?
Si tiene, por ejemplo, un jenkins
usuario de Unix, puede almacenar su clave de implementación ~/.ssh/id_rsa
. Cuando Jenkins intenta clonar el repositorio a través de ssh, intentará usar esa clave.
En algunas configuraciones, no puede ejecutar Jenkins como una cuenta de usuario propia, y posiblemente tampoco puede usar la ubicación de clave ssh predeterminada ~/.ssh/id_rsa
. En tales casos, puede crear una clave en una ubicación diferente, por ejemplo ~/.ssh/deploy_key
, y configurarla ssh
para usarla con una entrada en ~/.ssh/config
:
Host github-deploy-myproject
HostName github.com
User git
IdentityFile ~/.ssh/deploy_key
IdentitiesOnly yes
Debido a que todo lo que se autentica en todos los repositorios de Github usando git@github.com
y no desea que la clave anterior se use para todas sus conexiones a Github, creamos un alias de host github-deploy-myproject . Su URL de clonación ahora se convierte en
git clone github-deploy-myproject:myuser/myproject
y eso también es lo que pones como URL de repositorio en Jenkins.
(Tenga en cuenta que debe no poner ssh: // delante para que esto funcione.)