Tengo un pequeño problema con Jenkins y repositorios privados de Github. Para comprobar a cabo un acuerdo de recompra privado, por lo general se necesita una de dos cosas:¿Cómo puedo pagar varios repositorios privados de Github usando Jenkins
- la clave SSH privada de un usuario en ese repo
- la clave SSH privada de una "clave de distribución" registrada para ese repo
La clave de implementación se creó para este tipo de interacción. El problema es que las claves de implementación deben ser únicas en todos los proyectos, por lo que tendré que usar una clave diferente cada vez. Esto significa que tendría que agregar otra clave al agente de ssh para el usuario de Jenkins por cada repositorio adicional.
Esto también significa que, de forma predeterminada, el agente probará todas las claves disponibles y probablemente se desconectará la conexión después de unos pocos intentos fallidos con una clave incorrecta.
El complemento de Jenkins git no parece permitir que apunte a una tecla SSH. Jenkins no permite ninguna interacción con la línea de comandos antes del pago, por lo que no puedo usar ningún trucos de bash para establecer la clave correcta.
Hasta ahora la única solución parece ser:
- crear un usuario "my_jenkins_account" en github
- Añadir una clave pública para el usuario
- Agregar la cuenta a pases que me gustaría de revisar el uso de Jenkins
- Añadir clave privada del usuario para el usuario Jenkins
Cualquier sugerencia alternativa?
Gracias, estamos ejecutando esta configuración ahora también. Funciona, pero todavía se siente mal :( –
Bueno, de alguna manera, el servidor jenking _acts_ como usuario adicional para sus repositorios. Es, por así decirlo, una entidad separada que actúa en los repositorios. No es completamente irracional mapear esta entidad a un usuario de github. (Dicho esto, todavía es un poco complicado, como se ha dicho. Pero tenemos que hacer, a qué vamos ...) – Cornelius