git - plugin - jenkins bitbucket connection
¿Cómo logro que Jenkins construya push en un repositorio BitBucket git? (6)
De hecho, puedes hacer que esto funcione en Jenkins con el servicio Bitbucket, pero te costó bastante trabajo ponerlo en funcionamiento.
Si usa la autenticación, puede obtener un token API de uno de los usuarios que pueden crear compilaciones. Creé una cuenta separada solo para Bitbucket. Necesitarás al menos Jenkins 1.426 para usar el token API. A continuación, puede usar la autenticación HTTP con el token API como su contraseña para el servicio Bitbucket.
Así es como el mío está configurado:
Punto final: http: // [bitbucket]: [APITOKEN] @ [www.example.com/jenkins/]
Nombre del proyecto: [NameOfMyJenkinsProject]
Nombre del módulo: [vacío]
Token: [Token encontrado en la configuración del proyecto Jenkins]
Después de configurarlo así, pude usar el token y la autenticación para habilitar compilaciones activadas por inserción desde Bitbucket.
Tengo un repositorio git alojado en BitBucket, y he configurado la autenticación SSH entre el repositorio y mi servidor Jenkins. Puedo construir Jenkins manualmente, pero no puedo obtener el servicio de Jenkins en BitBucket para desencadenar compilaciones.
Jenkins configuration:
- Project Name: [my_jenkins_job]
- Build Triggers:
--Trigger Builds Remotely:
---Token: [token]
BitBucket configuration:
- Endpoint: http://[my_jenkins_address]/job/[my_jenkins_job]/build (I''ve also tried build?token=[token])
- Project Name: [my_jenkins_job]
- Module Name: [blank]
- Token: [token]
La visita a http: // {my_jenkins_address}
/ job / {my_jenkins_job}
/ build? Token = {token}
inicia una compilación correctamente.
¿Por qué no empujar un cambio a BitBucket hace que Jenkins inicie una compilación?
Debido a que el Jenkins Hook of Bitbucket no funciona en absoluto para mí y tengo diferentes proyectos de Jenkins para diferentes ramas, he llegado a esta solución:
- Instale el complemento Bitbucket en su Jenkins
- Agregue una publicación normal como gancho a su repositorio Bitbucket ( Configuración -> Ganchos ) y use la siguiente url:
https: // SU.JENKINS.SERVER: PORT / bitbucket-hook /
y si tiene la autenticación de configuración en jenkins, entonces la URL debe ser como
https: // NOMBRE DE USUARIO: CONTRASEÑ[email protected]: PORT / bitbucket-hook /
- Configure su proyecto Jenkins de la siguiente manera:
- en el disparador de compilación habilitar Build cuando un cambio es empujado a BitBucket
- en Gestión de código fuente, seleccione GIT ; ingrese sus credenciales y defina Sucursales para compilar (como ** feature / * )
De esta manera, tengo tres proyectos de compilación, uno para todas las funciones, uno para desarrollo y otro para lanzamiento. Asegúrese de incluir la barra inclinada (''/'') al final de la URL o el gancho no funcionará.
Y lo mejor de todo es que no tienes que anunciar nuevos ganchos para los nuevos proyectos de Jenkins.
El token es inútil si usas autenticación en Jenkins.
utilice el complemento Git y use un http[s]://your.site.com[/jenkins]/git/[email protected]:your-username/your-repo.git
POST con http[s]://your.site.com[/jenkins]/git/[email protected]:your-username/your-repo.git
en eso. Asegúrese de que la votación esté activada y programe algún valor, o esto no funcionará.
Simplemente instale el complemento bitbucket y siga las instrucciones que se encuentran en la página de complementos:
Configure su repositorio BitBucket con un gancho POST, usando la URL JENKINS_URL / bitbucket-hook (sin necesidad de credenciales). En cada confirmación, se activarán todos los trabajos con la opción "Crear cuando se cambie un cambio a BitBucket".
Vea aquí: https://wiki.jenkins-ci.org/display/JENKINS/BitBucket+Plugin
Tengo nuestra instancia de Jenkins configurada para sondear el repositorio cada minuto. ¿No es lo suficientemente frecuente para tus necesidades?
Nuestra configuración de Jenkins:
Disparadores de compilación> Poll SCM = Checked
Disparadores de compilación> Poll SCM> Schedule =
# every 1 minute
*/1 * * * *
Usar Poll SCM es bueno, aunque tiene algunas desventajas también, obtendrá metadatos de tu GIT Repository, que de todos modos está usando un porcentaje del ancho de banda de tu servidor bitbucket y el servidor Jenkins.
Es mejor que Bitbucket sepa cuándo activar Jenkins si llega alguna nueva actualización. Si está utilizando las últimas versiones de bitbucket, hay un nombre de complemento "Stash webhooks for Jenkins" que ahora es compatible con Bitbucket.
Dentro de este complemento, solo tiene que especificar la URL de Jenkins y el nombre de JOB, esto también proporciona una capa adicional de seguridad entre Jenkins y Bitbucket.
Este es el complemento (Stash webhooks para Jenkins que no se llama webbucks Bitbucket para Jenkins) que se puede descargar desde Atlassian Marketplace.
Arriba está la configuración del complemento donde debe especificar la URL de Jenkins y la URL de Repo Clone. Con el disparador, también puede verificar la conexión, etc.
Enlace para el complemento: Bitbucket webhooks para Jenkins
Cómo funciona este complemento:
Instala el complemento de Git en Jenkins. Configure su proyecto para usar Git para su gestión de código fuente. Deberá conservar la URL del repositorio que usa para la configuración en Stash. Habilite la opción Poll SCM en Build Triggers. Esto es necesario para activar de forma remota una compilación. Como realmente no necesitamos sondear, puede configurar la frecuencia de sondeo con poca frecuencia. Guarde la configuración de su proyecto.
Ingrese la URL de su instancia de Jenkins y la URL del repositorio que configuró Jenkins para usar. Puede usar el menú desplegable para obtener la URL de clonación para cada protocolo compatible. Después, siéntete libre de cambiarlo para que coincida con tu instancia de Jenkins.
¡Eso es!
Con Jenkins y Stash ahora configurados, si usted ingresa el código, un disparador de compilación se producirá automáticamente. Lo que sucede es que el gancho posterior a la recepción activa una solicitud GET a Jenkins, que luego le dice que sondee el repositorio (por qué necesita que se encienda la votación). La encuesta comprueba si realmente hay algún cambio. Como hay, ¡desencadena la construcción!