2012-05-17 28 views
17

Mi Jenkins continua del servidor de integración en que se ejecuta en un host de Ubuntu, configurado de la siguiente manera:Cómo activar una Jenkins construir cuando se hace un esfuerzo para un repositorio GitHub privado

  • Jenkins v 1.463
  • github- api 1,23
  • Jenkins GIT Plugin 1.1.18
  • GitHub plugin de 1,2

Polling SCM WOR Kansas. Esto es importante decirlo porque quiero que sepas que mi otra configuración relacionada con jenkins está funcionando bien, excepto esta tontería de disparador de compilación posterior.

Quiero configurar Jenkins para que cuando los cambios se envían a una rama de desarrollo en un repositorio privado de esto desencadenará una compilación que incorpore los cambios más recientes.

El repositorio está bajo mi cuenta personal de github como propietario. Vamos a llamar a este propietario

Estoy incluyendo otra cuenta de github.com como colaborador. Vamos a llamar a este colaborador

La razón por la que estoy haciendo esto es porque en caso de que ya no esté involucrado en el proyecto, alguien más puede continuar con el mantenimiento.

Las claves SSH para el usuario Jenkins en Ubuntu se almacenan en colaborador

He consultado los siguientes enlaces:

http://nepalonrails.tumblr.com/post/14217655627/set-up-jenkins-ci-on-ubuntu-for-painless-rails3-app-ci

https://issues.jenkins-ci.org/browse/JENKINS-10391

https://wiki.jenkins-ci.org/display/JENKINS/Github+Plugin

http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/

https://wiki.jenkins-ci.org/display/JENKINS/Logging

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

Nada de esto no está funcionando. Algunos parecen un poco anticuados o incluso contradictorios.

He añadido github.com a knownhosts para jenkins ubuntu user. He agregado el webhook github.

He intentado la configuración manual y automática de github webhook en jenkins.

Nada funciona.

Necesito una guía paso a paso sobre cómo lograr esto sin sondear github.

+0

He configurado el siguiente registrador en mi jenkins http://cl.ly/Gy15 No aparece nada en el 2 logger inferior –

Respuesta

24

tuve un problema similar, y después de mirar el principal Jenkins registro del sistema vi lo siguiente:

Feb 15, 2013 8:35:44 PM hudson.security.csrf.CrumbFilter doFilter 
WARNING: No valid crumb was included in request for /github-webhook/. Returning 403. 

La solución es desactivar la protección CSRF - Administrar Jenkins> Configurar sistema> Evite los exploits de falsificación de solicitudes entre sitios. La casilla de verificación se encuentra justo en la parte inferior de la primera sección de configuración. Después de eso, todo pareció funcionar felizmente.

+0

en jenkins en cloudbees.com no se muestra la prevención de falsificación de solicitudes de sitio cruzadas. ¿Hay alguna otra forma de desactivar CSRF? Por ejemplo, usando Jenkins CLI? – Giorgio

+11

La configuración se movió a 'Administrar Jenkins> Configurar seguridad global> Prevenir exploits de falsificación de solicitudes entre sitios', en la parte inferior de la página. Usando Jenkins versión 1.572 –

+0

En caso de que pueda ayudar a alguien, esta solución también funciona por el mismo error, pero con '/ bitbucket-hook' – Marco

2

Cree un registrador con registro de nivel de rastreo para la categoría com.cloudbees.jenkins bajo su url /log (Administrar Jenkins-> registros del sistema).

Compruebe que hay una entradaweb hook URL bajo el Servicio Ganchos sección de la pantalla de la administración del repositorio .

Haga clic en gancho de prueba y debería ver algo de actividad de registro debajo del registrador recién creado.

Finalmente, compruebe la acción de registro GitHub Polling en la compilación que ha configurado para ser activada por las pulsaciones de GitHub.

Un error común es probar los ganchos de compromiso como este sin tener un cambio presente.

El gancho solo se utiliza para solicitar una encuesta y no realizará una compilación a menos que se detecten cambios.

+0

He seguido su consejo. Agregué a la URL de webhook. no sucedió nada durante el momento en que presioné el gancho de Prueba. Añadí a jenkins hook url y presiono Test hook. hay una carga útil enviada en el sitio web github.com. Cuando miro el registrador, no pasó nada. ¿Debo desactivar el sondeo SCM cuando ejecuto esta prueba? –

+0

¿Puede por favor proporcionar capturas de pantalla? –

Cuestiones relacionadas