jenkins jenkins-plugins gerrit

Jenkins gerrit trigger no busca mi cambio mientras construyes



jenkins-plugins (3)

Tienes que cambiar la Choosing Strategy a Gerrit Trigger

Vaya a la página de configuración de su trabajo y luego haga clic en el segundo botón Advanced debajo de la sección git . Casi en la parte inferior hay una Choosing Strategy que tendrá que cambiar a Gerrit Trigger

Esto hará que Git obtenga la versión correcta para tu compilación

He configurado jenkins con el plugin gatillo gerrit para validar cada compromiso que empujamos a gerrit. Espero que este desencadenador incluya mi último cambio con el repositorio original y realice una compilación. Pero, es clonar solo el proyecto de repos y compilar sin mi cambio.

A continuación se muestra mi configuración de configuración para el activador de Gerrit en jenkins.

Refspec: $GERRIT_REFSPEC Branches to build: $GERRIT_BRANCH Build trigger: Gerrit event Trigger on: patch set created Gerrit project: added project and branch

A continuación se muestra el mensaje de salida de compilación

Triggered by Gerrit: http://ci-test1/22 Building on master in workspace /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace Checkout:workspace / /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace - hudson.remoting.LocalChannel@733aee56 Using strategy: Default Last Built Revision: Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7) Fetching changes from 1 remote Git repository Fetching upstream changes from abc Commencing build of Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7) Checking out Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7) [workspace] $ /bin/sh -xe /tmp/hudson1375188638196718521.sh + echo ''Started Build'' Started Build + echo .................. .................. + echo ''Build Finished'' Build Finished Finished: SUCCESS

Aquí 701a75ef38aa191ac1b806c48e6b3451671888f6 es JEFE de la rama de repositorio y 8cbda558adcad4fb7eb714e0b3fb98a6fbf5811c es el SHA-id de mi último cambio que activó la compilación.

Verifiqué desde el espacio de trabajo de jenkins también, no incluye mi cambio.

lo siento si me falta alguna información para mencionar. Por favor, hágamelo saber por favor ayúdenme si me falta algo aquí.


Uso del complemento 1.532.2 Git Client de Jenkins 1.6.2 Git Plugin 2.0.1 Git Trigger 2.11.0

Estos son los pasos para configurar Gerrit Trigger (de memoria, afortunadamente todo funciona bien):

  1. Instalar los complementos "Gerrit Trigger", "Git Plugin" y "Git Client Plugin"
  2. En la configuración principal de jenkins (HOME-> Manage Jenkins), haga clic en Gerrit Trigger.
  3. Crea el servidor y configúralo. Use "Prueba de conexión" para asegurarse de que funciona.
  4. Al final, debajo de "Control", presiona "start" (No tengo idea de qué hace eso o si realmente es necesario, pero lo hice).
  5. Vaya a la configuración de su proyecto (MYPROJECT-> Configurar)
  6. Marque "Evento Gerrit" en "Generar desencadenantes"
  7. En el menú recién agregado, seleccione su servidor, sus activadores, etc.
  8. Para el Proyecto Gerrit utilicé "Plain" con "MYPROJECT" como patrón
  9. Para Branch, utilicé "Path" y "**" como patrón (construye todas las ramas)
  10. En "Gestión de código fuente" (desde los desencadenantes en mi interfaz de usuario), haga clic en "Git"
  11. Establezca la URL del repositorio, aquí $ USER coincide para mí, pero escriba el usuario correcto $ GERRIT_SCHEME: // $ USER @ $ GERRIT_HOST: $ GERRIT_PORT / $ GERRIT_PROJECT
  12. Especifique una rama: $ GERRIT_BRANCH
  13. En "Repositorios" a la derecha, haz clic en Avanzado, para "Refspec" ingresa $ GERRIT_REFSPEC
  14. Haga clic en Agregar a la derecha debajo y seleccione "Estrategia para elegir qué construir"
  15. Seleccione "Gatillo Gerrit"

No es muy intuitivo, pero debería funcionar. Sugiero asegurarme de que se estén construyendo los SHD correctos de SHA1.

Si se ejecuta en Error stderr: fatal: No se pudo encontrar la referencia remota $ GERRIT_REFSPEC


Al solucionar problemas pequeños en la respuesta de Lewis , cambie los valores a los siguientes para garantizar que se construya el SHA1 más reciente.

branch : $GERRIT_REFSPEC

REFSPEC : $GERRIT_REFSPEC:$GERRIT_REFSPEC