Cambiar el número de compilación de Jenkins


142

¿Hay alguna manera de cambiar el número de compilación que se envía por correo electrónico una vez que se completa un trabajo? El problema es que Jenkins NO está haciendo compilaciones de productos, por lo que queremos poder obtener el número de compilación (es decir, de un archivo de texto) y actualizar el número de compilación en Jenkins para que coincida. He intentado establecer el número de compilación:

set BUILD_NUMBER=45

Pero el correo electrónico todavía muestra el número de compilación que Jenkins configuró originalmente.

Respuestas:


259

Si tiene acceso a la consola de scripts (Manage Jenkins -> Script Console), puede hacer lo siguiente:

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)

77
Puedo verificar que esto funciona perfectamente para resolver el problema. Copié manualmente el historial de compilación entre dos servidores jenkins, y en el nuevo servidor nextBuildNumber estaba equivocado. Ejecutar esto me permitió establecer un nuevo nextBuildNumber correcto, no se requiere la recarga de configuración de jenkins.
Phil Hollenback

55
Si está utilizando el complemento GitHub, "YourJobName"es "organization/repository/branchname".
Ruud

15
Trabajos. El valor se puede verificar sin construir usando:Jenkins.instance.getItemByFullName("YourJobName").getNextBuildNumber()
Daniel Alder

77
Puedo confirmar que esto también está funcionando para MultiBranch-Pipelines. El "JobName" aparece en la parte superior de la página de la sucursal: Nombre completo del proyecto: PipelineName/BranchNameasí seríaJenkins.instance.getItemByFullName("YourPipelineName/YourBranchName").updateNextBuildNumber(45)
Markus


37

se puede hacer con el complemento: https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

Más información: http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

si no te gusta el complemento:

Si desea cambiar el número de compilación a través del archivo nextBuildNumber, debe "Recargar la configuración desde el disco" desde la página "Administrar Jenkins".


2
No es necesario usar el complemento.
david.perez

1
Gracias, me salvas el día.
Yukio Fukuzawa

29

Debajo de la carpeta del espacio de trabajo, como:

C:\Program Files (x86)\Jenkins\jobs\job_name

Hay un archivo llamado nextBuildNumber.

Establecer el número de compilación en el archivo y volver a cargar la configuración desde el disco (menú Administrar Jenkins) obligará a que la próxima compilación comience a tener el valor del archivo como BUILD_NUMBER.


9
¿Recargó la configuración desde el disco (menú Administrar Jenkins) después de cambiar el archivo nextBuildNumber?
vezenkov

No! Pensé que sucedió automáticamente.
hfossli

Esto funcionó perfectamente para mí. Debe reiniciar el servidor antes de que surta efecto.
Hawkeye64

Tener que reiniciar el servidor es una molestia si tienes muchos usuarios ejecutando pipeline. Mejor evitar este tipo de solución
MorganGeek

8

Si tiene un nombre de rama que incluye la barra diagonal ( por ejemplo, usando el flujo de git ), deberá reemplazar la barra diagonal con su carácter Unicode % 2F dentro del nombre de la rama.

Aquí hay un ejemplo para la tubería My-Pipeline-Name y la rama release / my-release-branch-name

Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)

Pude averiguar sobre esto ejecutando el siguiente comando que enumerará los diferentes trabajos (ramas) para su canalización

Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()

Espero eso ayude.



1

Puede cambiar el número de compilación actualizando el archivo $ {JENKINS_HOME} / jobs / job_name / nextBuildNumber en el servidor Jenkins.

También puede instalar el complemento Next Build Number para cambiar el número de compilación usando CLI o UI


Tenga en cuenta que cambiar el número de compilación en el archivo nextBuildNumber por sí solo no es suficiente, también es necesario ejecutar la "Recargar configuración desde el disco" en el menú "Administrar Jenkins".
Falstaff

-4

Mediante el uso de variables ambientales:

$BUILD_NUMBER =4

2
Por favor, no grites. Gracias.
OliBlogger
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.