El plugin de cnetworkingenciales Jenkins y el cliente GIT no funcionan

Estoy usando el complemento Git Client para conectar Jenkins a mi repository (en teoría). No puedo conectarme al repository con la authentication HTTP básica. Cuando ingreso el nombre de usuario: contraseña manualmente, puedo conectarme. He intentado varias forms diferentes de conectar y nada parece funcionar como se esperaba. Si apago mi authentication HTTP, Jenkins se conecta y construye exitosamente sin problemas. Estoy usando…

  • Cnetworkingenciales 1.10
  • Jenkins Git Client plugin 1.6.3
  • Jenkins Git plugin 2.0.3
  • Apache, Git 1.7.1 en el server

Si bash establecer la ruta en la configuration del trabajo a través de algo como http://username:password@git.mydomain.com , parece que comtesting automáticamente la validation de la ruta y no se queja. Sin embargo, usando este método cuando realmente construyo el trabajo mi server informa un error de desajuste de contraseña (muestra el nombre de usuario pero no la contraseña en el error, supongo que se usa una contraseña aunque me gustaría saberlo con security) . Aquí está el error en el error_log de Apache:

 user jenkins: authentication failure for "/info/refs": Password Mismatch 

si ingreso las mismas cnetworkingenciales en el cuadro de cnetworkingenciales, no se conecta y escupe:

 Failed to connect to repository : Command "git config --local cnetworkingential.helper store --file=/var/lib/jenkins/tmp/git4177869325176518383.cnetworkingentials" returned status code 129: stdout: stderr: error: unknown option `local' usage: git config [options] 

No veo –local en el manual de git, tal vez hay un module que necesito?

Yo tuve el mismo problema. El problema es que el plugin Jenkins Git espera tener la versión de Jenkins Git 1.8 o superior instalada en el server de Jenkins , pero no lo verifica ni le advierte que está utilizando una versión desactualizada. ( git 1.8 admite una opción --local para ser especificada para git config ; git 1.7 no)

Hay varias opciones disponibles para solucionar este problema:

  1. Actualiza la versión de git instalada en tu server.
  2. Haga que Jenkins descargue git a pedido y use esa versión para build sus proyectos. (Esto requiere bastante configuration.) Esta opción no usa la copy de git instalada en su server.
  3. Haga que Jenkins use JGit (versión pura de Java de git que no requiere que git esté instalado en su server) – esto utiliza el JGit que viene con el Jenkins Git Client, hasta donde yo sé.

Las opciones 2 y 3 están disponibles a través del button Agregar Git en la página Administrar Jenkins / Configurar sistema en la sección de instalaciones de Git / Git .

Mi server ejecuta Ubuntu 10.4 LTS, para el cual no hay package git 1.8 disponible en los repositorys estándar, y prefiero no instalar el software no empaquetado en mi server, por lo que descartó la opción 1 para mí. Encontré la configuration de la opción 2 demasiado onerosa, y no me dio la sensación de que continuaría funcionando para las nuevas versiones de git. Eso me dejó con la opción 3, que ha estado funcionando bien para mí.