¿Cómo configurar Jenkins para ejecutar tag / branch dinámicamente?

Estoy intentando configurar un trabajo de Jenkins para ejecutar la última versión de lanzamiento automáticamente (para la opción de comstackciones periódicas). Actualmente, la forma en que está configurado es que cada nueva versión de lanzamiento obtiene su propia twig, cada una labelda como algo con el formatting "Release xxx". Si es posible, me gustaría poder ejecutar dinámicamente la última twig sin tener que configurar manualmente todos los trabajos cada vez que haya una nueva versión.

Alternativamente, parece que usar tags podría ser una forma alternativa de hacerlo y estoy dispuesto a hacerlo de esa manera también.

He estado haciendo una buena cantidad de investigación sobre esto y, por lo que puedo encontrar, usar un parámetro git es mi mejor opción. Desafortunadamente, no hay mucha documentation sobre cómo usar esto. He estado intentando con las tags porque parece que sería más fácil ya que todas las tags son exclusivamente numbers de versión, por lo que usar la opción de sorting DESCENDING_SMART funcionaría mejor con eso, mientras que con las twigs también tienes los nombres de otras twigs diversas para considerar. Establecí el filter de tags en * y para el especificador de twigs está configurado en "refs / tags / $ {RELEASE_TAG}", pero esto no funciona para mí. Cuando voy a build el parámetro solo dice "Recuperando references de Git …". E incluso si puedo hacerlo funcionar, también necesito una forma de establecer el valor pnetworkingeterminado para la última compilation (estoy de acuerdo con ella de manera pnetworkingeterminada a la primera twig de la list orderada si no se proporciona ningún valor pnetworkingeterminado, o una alternativa para que eso funcione).

Otra idea que he tenido es utilizar una secuencia de commands para devolver el valor del parámetro, pero no estoy seguro de si eso es posible. He visto algunas cosas sobre cómo ejecutar un guión maravilloso en la configuration, pero no he investigado mucho sobre cómo funciona eso, e incluso si puedo ejecutar el guión, necesito una forma de acceder de manera segura al repository y get toda la información nombres. Una vez que tenga eso, debería ser bastante trivial devolver la última versión de la twig.

¿Hay alguna forma de lograr esto? ¿O voy a tener que actualizar manualmente la versión de lanzamiento para cada nueva versión?

¿Por qué no utilizar el proyecto de múltiples sucursales? Generará una compilation para cada nueva sucursal.

Puedes usar alguna versión Regex .

Opción 1

Puede pasar la twig como parámetro.

Cree un parámetro de cadena en su trabajo, llamemos "twig"

En 'Sucursales para build / Especificador de sucursal' use el parámetro $ {twig}

Ahora activa de forma remota esta compilation pasando este parámetro.

Puede usar los ganchos de script git para lograr eso, una mejor manera de hacerlo es ejecutar este script cada vez que el post de confirmación tenga algo como "Ir a producción", "Nueva versión" o cualquier cosa que se pueda acordar con el desarrollador.

opcion 2

Como yo lo hago.

Cada vez que se crea una nueva label, ejecuto un script que inicia el trabajo de jenkins y crea una nueva versión.

También puedes hacer eso creando una twig específica con el lanzamiento del nombre, cada vez que se realiza una confirmación en esta twig, se activan los trabajos de jenkins.