web-dev-qa-db-fra.com

Comment personnaliser le nom de build Jenkins?

Lorsque j'exécute un travail dans Jenkins, chaque build reçoit un nom qui apparaît dans l'interface utilisateur dans l'historique de build, c'est essentiellement la date et l'heure actuelles.

J'aimerais pouvoir y mettre des paramètres de construction pour que je puisse voir dans l'historique de construction quelles branches ont été construites et quand.

J'ai cherché des plugins pour le faire, mais je n'ai pas pu en trouver. Est-ce qu'il y a un?

31
slacy

Sonne comme le plugin Build Name Setter .

Mais si vous utilisez Pipeline , vous pouvez faire quelque chose comme ceci:

currentBuild.description = "#${BUILD_NUMBER}, branch ${BRANCH}"
32
Christopher Orr

[répondant au commentaire de Patrice M. ci-dessus, je n'ai pas assez de réputation pour commenter]:

Le plug-in Build Name Setter peut exprimer une variété de variables, y compris les variables d'environnement, lorsqu'il est utilisé conjointement avec le plug-in de macro de jeton . De plus, les paramètres de construction sont également disponibles en tant que variables d'environnement; ainsi, par exemple, si votre build a un paramètre "MYPARAM", alors vous pouvez simplement l'utiliser (en supposant que vous avez installé le plugin de macro de jeton) dans le nom de build comme ceci:

Built with parameter MYPARAM: ${ENV, var="MYPARAM"}
17
farialima

Il est également possible de définir le nom de la construction "manuellement", en utilisant plugin Jenkins Groovy . Suivez simplement ces étapes:

  1. Générez un nouveau nom de build. Si vous allez l'exécuter dans l'étape de travail séparée, vous devrez peut-être l'enregistrer dans le fichier de propriétés, par exemple sous le nom "newVersion" et effectuer une étape "Injecter les variables d'environnement" avec plugin Jenkins EnvInject .
  2. Étape suivante - exécutez un script System Groovy:

    def build = Thread.currentThread().executable
    assert build
    def newBuildName = build.getEnvironment().get('newVersion')
    try {
        if (newBuildName) build.displayName = newBuildName
        println "Build display name is set to ${newBuildName}"
    } catch (MissingPropertyException e) {}
    

Comme vous pouvez le voir, nous utilisons un build.displayName variable ici. Sa valeur est un nom de build visible dans Jenkins.

7
saver

Pour modifier le nom d'affichage par défaut, utilisez currentBuild.displayName = "#${BUILD_NUMBER}, branch ${BRANCH}"

2
abhishekrvce

Attention: cela ne fonctionne que dans les environnements * nix. Pour des étapes Shell individuelles, vous pouvez exécuter <command> à la place en tant que:

/usr/bin/env JOB_NAME="Old JOB_NAME: ${JOB_NAME}" <command>

En supposant que votre projet s'appelle "monprojet", <commande> verrait la variable d'environnement JOB_NAME comme "Ancien JOB_NAME: monprojet"

0
nharward

Ce plugin " plugin de définition de nom de build " peut vous aider. En tant que source pour le nom de build, vous pouvez utiliser un fichier texte sur un disque ou une variable d'environnement.Vous pouvez également combiner le plugin avec un plugin tel que EnvInject

0
Leo