¿Cómo deshabilitar algunas ramas en Multibranch Jenkins Builds?


9

Tengo un trabajo de varias ramas configurado para ejecutar cualquier rama con un archivo Jenkins.

Tengo algunas opciones en las que puedo pensar si deseo eliminar una rama de la lista de trabajos que se ejecutan para la tubería de varias ramas.

  1. Puedo borrar la rama
  2. Puedo eliminar el archivo Jenkins en esa rama

La segunda solución es buena, excepto que necesito confirmar y enviar eso al repositorio de git para mi rama, y ​​si esa rama se fusiona con otra rama, elimina el archivo Jenkins.

¿Cuál es la mejor manera de deshabilitar solo algunas ramas de una tubería multibramch?

Respuestas:


16

Jenkins puede filtrar ramas en una tubería de múltiples ramas por nombre utilizando un comodín o una expresión regular.

ramas de filtro jenkins


¿Alguna forma de hacer esto dentro de un archivo Jenkins (para que sea reproducible)?
xjcl

1
Sí, puede agregar when { anyOf { branch 'master'; branch 'release/**' } }dentro de cualquier etapa (en declarativa) o if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}dentro de una tubería programada (casi en cualquier lugar). Para la primera opción, hay más disponible en jenkins.io/doc/book/pipeline/syntax/#when . De todos modos, la mejor manera es configurar esto en el complemento de canalización multibramch, como se indica en la respuesta.
biolauri

0

Simplemente elimine el archivo Jenkins en la (s) sucursal (es) para la que no desea tener trabajos de sucursal correspondientes. Esto eliminará el trabajo de bifurcación (por supuesto, si ha configurado su "Estrategia de elementos huérfanos" de manera adecuada).

Desde la perspectiva de un proyecto de canalización multibranquio de Jenkins, esto tiene el mismo efecto que eliminar la rama. Esto se debe a que simplemente está buscando ramas que contengan Jenkinsfiles como criterio para crear (o eliminar) un trabajo de rama correspondiente.

Revierta la confirmación para restaurar el archivo Jenkins si necesita el trabajo de bifurcación nuevamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.