web-dev-qa-db-fra.com

Changer le numéro de build de Jenkins

Existe-t-il un moyen de changer le numéro de build envoyé par courrier électronique une fois le travail terminé? Le problème est que les versions de produits NE sont PAS conçues par Jenkins. Nous voulons donc pouvoir obtenir le numéro de version (c.-à-d. À partir d'un fichier texte) et mettre à jour le numéro de version dans Jenkins pour qu'il corresponde. J'ai essayé de définir le numéro de build:

set BUILD_NUMBER=45

Mais l'e-mail indique toujours le numéro de build défini à l'origine par Jenkins.

119
erman8

Si vous avez accès à la console de script (Manage Jenkins -> Script Console), procédez comme suit:

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

peut être fait avec le plugin: https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

plus d'infos: http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

si vous n'aimez pas le plugin:

Si vous souhaitez modifier le numéro de version via le fichier nextBuildNumber, vous devez "Recharger la configuration à partir du disque" à partir de la page "Gérer Jenkins".

35
mighq

Sous le dossier de l'espace de travail, par exemple:

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

il existe un fichier nommé nextBuildNumber.

Définir le numéro de construction dans le fichier et recharger la configuration à partir du disque (menu Manage Jenkins) forcera la prochaine construction à commencer à avoir la valeur du fichier sous la forme BUILD_NUMBER.

27
vezenkov

Peut-être qu'une combinaison de ces plugins peut être utile:

5
Morfic

Si vous avez un nom de branche incluant barre oblique (avec git flow par exemple), vous devrez remplacer le barre oblique par son caractère Unicode - % 2F dans le nom de la branche.

Voici un exemple pour le pipeline My-Pipeline-Name et la branche release/my-release-branch-name

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

J'ai pu découvrir cela en exécutant la commande suivante, qui répertorie les différents travaux (branches) de votre pipeline.

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

J'espère que ça aide.

3
DaWyz