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.
Si vous avez accès à la console de script (Manage Jenkins -> Script Console), procédez comme suit:
Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)
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".
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.
Peut-être qu'une combinaison de ces plugins peut être utile:
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.