webhook delivery configurar con git jenkins continuous-integration bitbucket

git - delivery - Cómo conectar Bitbucket a Jenkins correctamente



jenkins continuous delivery (6)

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.

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

Desde hace aproximadamente una semana, Bitbucket no envía (?) Una solicitud a mi servidor 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 configuración por proyecto.

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


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 servidor de compilación 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 configuración de SSH para Git & Mercurial en Linux cubre los detalles de lo que necesita hacer para poder comunicarse entre su servidor de compilación y BitBucket a través de SSH. Una vez hecho esto, con el complemento de Git instalado, vaya a la configuración de su compilación y seleccione ''Git'' en Gestión de código fuente, e ingrese la URL ssh de su repositorio como la URL del repositorio. Finalmente, en la sección Disparadores de compilación, seleccione Poll SCM y configure la frecuencia de sondeo a lo que necesite.


Para construir su repositorio después de nuevas confirmaciones, use el complemento BitBucket .

Solo hay que tener en cuenta 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/ e.g. someAddress:8080/bitbucket-hook/

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


Solo pude desencadenar las compilaciones 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 autenticación"
  4. Salvar
  5. Editar la configuración del repositorio bitbucket
  6. Ganchos -> Editar: Punto final: http://jenkins.something.co:9009/ Nombre del módulo: Nombre del proyecto: Token del nombre del proyecto: (Pegar UUID / cadena aquí)

El punto final no requirió insertar la autenticación HTTP básica en la URL a pesar de usar la autenticación, no utilicé el campo Nombre del módulo y el Nombre del proyecto se ingresó con mayúsculas y minúsculas, incluido un espacio en mi caso de prueba. La compilación 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 solicitudes entre sitios" en "Configurar seguridad global" para probar, ya que he experimentado todo tipo de dificultades API de integraciones existentes cuando esta opción estaba habilitada.


Tuve este problema y resultó que el problema era que había nombrado mi repositorio con CamelCase. bitbucket cambia automáticamente la URL de su repositorio para que esté en minúsculas y se envía a Jenkins en el webhook. Jenkins luego busca proyectos con un repositorio coincidente. Si usted, como yo, tiene CamelCase en la URL de su repositorio en la configuración de su proyecto, podrá verificar el código, pero la coincidencia de patrones en la solicitud 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.


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

  1. Generar par de claves públicas / privadas: ssh-keygen -t rsa
  2. Copie la clave pública (~ / .ssh / id_rsa.pub) y péguelo en las claves Bitbucket SSH, en la consola de administración de la cuenta del usuario:

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

  4. ejecute este comando para probar si puede acceder a la cuenta de Bitbucket: ssh -T [email protected]

  5. OPCIONAL: Ahora, puedes usar tu git para copiar el repositorio en tu escritorio sin passwjord git clone [email protected]:username/repo_name.git
  6. Ahora puede habilitar los enganches de Bitbucket para las notificaciones automáticas y las compilaciones automáticas de Jenkins, lo hará en 2 pasos:

    1. Agregue un token de autenticación dentro del trabajo / proyecto que configure, puede ser cualquier cosa:

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

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.