2012-01-05 14 views
12

Uso Jenkins con un repositorio de Github, y después de reiniciar Jenkins ejecuta especificaciones en todas las ramas, incluso en aquellas eliminadas del repositorio. ¿Cómo hago que jenkins ejecute las especificaciones solo en las sucursales reales de repos?Jenkins después de reiniciar ejecuta especificaciones en ramas eliminadas

+1

¿Intentó establecer "Podar ramas remotas antes de compilar" en Configuración avanzada de git? – 4ndrew

+0

Por "eliminado" ¿quiere decir que las sucursales se eliminan en su repositorio local o en el repositorio remoto, o en ambos? –

+0

Los ajustes "Avanzados" relevantes están debajo del _segundo_ botón Avanzado en la página de configuración del proyecto, no el primero. – phs

Respuesta

13

Esto ocurre porque todavía tiene todas las ramas, etiquetas, etc. en su repositorio local, del lado del cliente. Con el fin de evitar su uso durante su proceso de construcción, hay pocos escenarios que podría considerar:

  1. Jenkins git plug-in le permite ejecutar git remote prune antes de cada proyecto de construcción. Como la documentación para el comando es bastante específica, hará exactamente lo que usted quería:

    Elimina todas las ramas de seguimiento obsoletos de. Estas ramas obsoletas ya se han eliminado del repositorio remoto al que hace referencia, pero todavía están disponibles localmente en "controles remotos /".

    Esta característica está disponible en la página de configuración del proyecto, la sección de Gestión de Código Fuente, luego encontrar Git y su definición repositorio. Debajo de ellos debe tener un botón Avanzado, y después de hacer clic en él una opción llamada Podar ramas remotas antes de la compilación debe estar visible. Asegúrate de que esté marcado y deberías ir bien.

  2. La segunda opción, la que se usa en mi Jenkins y la que personalmente prefiero, es usar Workspace Cleanup Plugin. Este complemento eliminará todo el espacio de trabajo del trabajo dado antes de o después de ejecución del proyecto. Por lo tanto, esto creará un entorno limpio y recién revisado para Your Maven, Ant, [...] * lo que sea que se use para construir el proyecto. Y sí, requerirá una finalización completa del proyecto, que en algunos casos puede llevar bastante tiempo, pero dará una solución 100% estúpida y libre de errores en la que todos los archivos serán nuevos, ya que los desarrolladores se propusieron que ser.
Cuestiones relacionadas