Cómo conectar Bitbucket a Jenkins correctamente

Desde hace aproximadamente una semana, Bitbucket no envía (?) Una request a mi server de Jenkins.

Lo he configurado todo de esta manera:

Endpoint http://username:apitoken@jenkinshost/
username = nombre de usuario en Jenkins
apitoken = apitoken conectado al nombre de usuario en Jenkins
jenkinshost = mi host donde corro Jenkins

Project name es un proyecto
Token : el token que puedo configurar en la configuration por proyecto.

Lo he hecho de acuerdo con este website: http://felixleong.com/blog/2012/02/hooking-bitbucket-up-with-jenkins .
Funcionó, pero ya no funciona. ¿Bitbucket cambió algo? ¿Cómo puedo arreglar esto?

enter image description here

Para build su repository después de nuevas confirmaciones, use el complemento BitBucket .

Solo hay que tener en count una cosa: al crear un POST Hook (observe que es POST hook, no Jenkins hook), la URL funciona cuando tiene un "/" al final. Me gusta:

 URL: JENKINS_URL/bitbucket-hook/ eg someAddress:8080/bitbucket-hook/ 

No olvide marcar "Generar cuando un cambio se inserta en BitBucket" en la configuration de su trabajo.

Tuve un problema similar, hasta que lo hice funcionar. A continuación se encuentra la list completa de la integración:

  1. Generar par de keys públicas / privadas: ssh-keygen -t rsa
  2. Copie la key pública (~ / .ssh / id_rsa.pub) y péguelo en las keys Bitbucket SSH, en la console de administración de la count del usuario: enter image description here

  3. Copie la key privada (~ / .ssh / id_rsa) a un nuevo usuario (o incluso uno existente) con cnetworkingenciales de key privada, en este caso, el nombre de usuario no hará la diferencia, por lo que el nombre de usuario puede ser cualquier cosa: enter image description here

  4. ejecute este command para probar si puede acceder a la count de Bitbucket: ssh -T git@bitbucket.org

  5. OPCIONAL: Ahora, puedes usar tu git para copyr el repository en tu escritorio sin passwjord git clone git@bitbucket.org:username/repo_name.git
  6. Ahora puede habilitar los enganches de Bitbucket para las notifications automáticas y las comstackciones automáticas de Jenkins, lo hará en 2 pasos:

    1. Agregue un token de authentication dentro del trabajo / proyecto que configure, puede ser cualquier cosa: enter image description here

    2. En los enganches de Bitbucket: elija los ganchos de jenkins y llene los campos de la siguiente manera: enter image description here

Dónde:

 **End point**: username:usertoken@jenkins_domain_or_ip **Project name**: is the name of job you created on Jenkins **Token**: Is the authorization token you added in the above steps in your Jenkins' job/project Recommendation: I usually add the usertoken as the authorization Token (in both Jenkins Auth Token job configuration and Bitbucket hooks), making them one variable to ease things on myself. 

Solo pude desencadenar las comstackciones en commit utilizando la opción Hooks en BitBucket a una instancia de Jenkins con los siguientes pasos (similar al enlace):

  1. Genere un UUID personalizado o secuencia de cadenas, guárdelo para más tarde
  2. Jenkins -> Configure Project -> Build Triggers -> "Trigger builds de forma remota (p. Ej., Desde scripts)"
  3. (Pegar UUID / cadena Aquí) para "Token de authentication"
  4. Salvar
  5. Editar la configuration del repository bitbucket
  6. Ganchos -> Editar: Punto final: http://jenkins.something.co:9009/ Nombre del module: Nombre del proyecto: Token del nombre del proyecto: (Pegar UUID / cadena aquí)

El punto final no requirió insert la authentication HTTP básica en la URL a pesar de usar la authentication, no utilicé el campo Nombre del module y el Nombre del proyecto se ingresó con mayúsculas y minúsculas, incluido un espacio en mi caso de testing. La compilation no siempre se desencadenó de forma inmediata sino relativamente rápida. Otra cosa que puede considerar es deshabilitar la opción "Prevenir la explotación de falsificación de requestes entre sitios" en "Configurar security global" para probar, ya que he experimentado todo tipo de dificultades API de integraciones existentes cuando esta opción estaba habilitada.

Al iterar, aprendí que el campo Token y el token en un punto final pueden ser iguales. ¡Así que los configuré para que sean los mismos que el token de usuario y funciona! También verifique que el usuario tenga privilegios para hacer un trabajo.

De todos modos, puedes verificar access.log y ver si BitBucket intenta o no.

jenkins

PS También un enlace a la documentation de Bitbucket . Puede algún día ser más útil.

No estoy familiarizado con este complemento, pero utilizamos BitBucket y Jenkins con bastante éxito, sin embargo, buscamos cambios en lugar de que sean eliminados de BitBucket (debido a que nuestro server de compilation está oculto detrás de un firewall de la empresa). Este enfoque puede funcionar para usted si todavía tiene problemas con el enfoque actual.

Este documento sobre la configuration de SSH para Git & Mercurial en Linux cubre los detalles de lo que necesita hacer para poder comunicarse entre su server de compilation y BitBucket a través de SSH. Una vez hecho esto, con el complemento de Git instalado, vaya a la configuration de su compilation y select 'Git' en Gestión de código fuente, e ingrese la URL ssh de su repository como la URL del repository. Finalmente, en la sección Disparadores de compilation, select Poll SCM y configure la frecuencia de sondeo a lo que necesite.

Tuve este problema y resultó que el problema era que había nombrado mi repository con CamelCase. bitbucket cambia automáticamente la URL de su repository para que esté en minúsculas y se envía a Jenkins en el webhook. Jenkins luego busca proyectos con un repository coincidente. Si usted, como yo, tiene CamelCase en la URL de su repository en la configuration de su proyecto, podrá verificar el código, pero la coincidencia de patrones en la request de webhook fallará.

Simplemente cambie su URL de repos en minúsculas en lugar de CamelCase y la coincidencia de patrón debería encontrar su proyecto.

    Intereting Posts