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