tag repositorio example eliminar crear git jenkins

repositorio - git pull example



¿Cómo puedo obtener varias compilaciones de Jenkins para trabajar desde un repositorio de git local? (3)

Eche un vistazo al plugin Clone Workspace . Puede usar eso o configurar un trabajo para actualizar un repositorio local desde Github y luego hacer que todos los demás trabajos saquen de ese repositorio local.

Esto no ayudará con el problema de que los espacios de trabajo aún necesitan el espacio de disco, pero hasta donde sé, no hay una solución simple para eso. Podría hacer que los pasos de compilación cambien a un directorio compartido fuera del área de trabajo, pero eso es raro y podría romper otras cosas. Alternativamente, puede usar un sistema de archivos que proporcione deduplicación.

Tengo un repositorio de GitHub que es grande y contiene varias piezas de construcción independientes. Si configuro Jenkins con un trabajo (o dos) para cada uno de estos, termino teniendo que extraer gigabytes de datos varias veces (un clon del repositorio para cada trabajo).

Esto requiere espacio de disco y ancho de banda.

Lo que me gustaría hacer es tener el trabajo "Refresh local repo" que clona github una vez, luego configure cada uno de los trabajos para que se clonen de ese repositorio y compilación. Luego, al configurar los subtrabajos como compilaciones dependientes, puedo ejecutar "Refresh local repo", hacer que extraiga todo lo último de GitHub y luego ejecutar cada compilación.

Hasta ahora, he trabajado en "Refresh local repo": clona con éxito, y si voy al espacio de trabajo, veo que tiene el compromiso HEAD de origen / maestro.

El problema son los otros trabajos; estos no parecen estar recibiendo actualizaciones. Así es como tengo uno de ellos configurado:

Git Repository URL file:////Users/malcolmbox/.jenkins/jobs/Refresh Local repo/workspace Branches to build master

En lugar de esta actualización a la última confirmación, se ha estancado varios días en el pasado.

¿Cómo puedo obtener la punta y hacer lo correcto?

Para aclarar: el ... / Refresh Repo / espacio de trabajo local ha confirmado 6b20268389064590147d5c73d2b6aceb6ba5fe70 enviado 28/3

La compilación dependiente, después de ejecutar una compilación (por lo que presumiblemente hace un clon / paso de extracción de git) está verificada en 79a25992cc192376522bcb634ee0f7eb3033fc7e enviado 26/3, por lo que está un par de días atrás.


Si abre la configuración del trabajo y hace clic en el botón Avanzado de la configuración de SCM de git, verá un lugar para especificar "Ruta del repositorio de referencia para usar durante la clonación (opcional)".

Si tiene un clon local de su repositorio, agregue la ruta al campo repo de referencia.

Git luego usará el clon local y compartirá la mayoría de los objetos git en el disco y extrae de github solo lo que falta del clon local, lo que da como resultado clones rápidos y espacio de disco guardado.

¿O es exactamente así como ha configurado su trabajo y no está recogiendo las últimas confirmaciones? Si es así, proporcione más detalles. Considere publicar su configuración de trabajo.


Tuve la misma experiencia.

Tengo un trabajo para retirar el repositorio remoto real, que es github.

Cada uno de los otros trabajos (hay muchos) tiene una "URL de repositorio" como esta:

file:///C:/Program Files (x86)/Jenkins/jobs/webtest-local-repo/workspace/.git

Se clona bien, pero las búsquedas posteriores no notan ningún cambio.

El mismo problema se presenta en gitbash, así que supongo que este es un problema de git, no un problema de jenkins.

Mi horrible solución fue hacer que los trabajos dependientes borraran sus espacios de trabajo cuando terminaron de construir, de modo que cada operación de git es un "clon". Es ridículo, pero tal vez menos ridículo que tener un trillón de empleos en el mismo github repo.

ZOMG! Eso tampoco funcionó, porque aunque git podía clonar exitosamente el repositorio, Jenkins recordaría la revisión anterior y construiría la misma de nuevo. Quizás esté relacionado con este tema , no sé, estoy harto. Nos dimos por vencidos, y ahora todos los trabajos sondean a github nuevamente. Tal vez voy a obtener un gancho trabajando en su lugar.