tag - El complemento Jenkins Git no está realizando los últimos cambios antes de generar un trabajo
tipos de etiquetas en git (3)
Estoy trabajando con Jenkins CI y estoy tratando de configurar correctamente mis trabajos para usar git.
Tengo el plugin git instalado y configurado para uno de mis trabajos. Cuando construyo el trabajo, espero que obtenga los últimos cambios para la rama que especifico y luego continúe con el resto del proceso de compilación (por ejemplo, pruebas de unidad, etc.).
Cuando miro la salida de la consola, veo
> git fetch --tags --progress ssh://gerrit@git-dev/Util +refs/heads/*:refs/remotes/origin/*
> git rev-parse origin/some_branch^{commit}
Checking out Revision <latest_SHA1> (origin/some_branch)
> git config core.sparsecheckout
> git checkout -f <latest_SHA1>
> git rev-list <latest_SHA1>
Veo que el complemento recupera y comprueba el hash de confirmación correcto, pero cuando se ejecutan las pruebas parece que el repositorio no se actualizó en absoluto. Si voy al repositorio en Jenkins, veo que los últimos cambios nunca se hicieron.
¿No debería tirar antes de intentar construir?
Tengo git 1.8.5 instalado en mi máquina Jenkins, que es una versión recomendada. https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
Después de verificar otras preguntas similares en SO, sus respuestas no fueron útiles para mi problema.
Creo que Jenkins saca los cambios y compila en su propio directorio tmp. Por lo tanto, su directorio de repositorio no se está actualizando, aunque Jenkins está creando correctamente el nuevo código en su propio entorno limitado.
Mi solución a esto ha sido agregar un paso de "git pull" en mi proceso de compilación así:
Cuando se entrega una nueva confirmación a mi repositorio de GitHub:
1. Construye mi proyecto
Si tiene éxito, realice los siguientes pasos posteriores a la compilación:
1. Ejecutar Shell:
cd /your/repo/directory/
git pull
Obviamente, puedes modificar el comando "git pull" para hacer lo que necesites si un ''pull'' no funciona para ti.
Me relaciona con el escenario en el que el espacio de trabajo no se limpiaba, utilizaba:
Gestión de código fuente -> Comportamientos adicionales -> Limpiar después de finalizar la compra
Otra opción es usar el plugin Workspace Cleanup
Sé que la pregunta es antigua, pero hay otra forma de hacerlo. En la sección Entorno de compilación , seleccione " Eliminar espacio de trabajo antes de que comience la compilación "
Vea la captura de pantalla a continuación,
De hecho, esto limpiará el espacio de trabajo cada vez y, por lo tanto, obtendrá el código actualizado.