web-dev-qa-db-fra.com

Jenkins pipeline plugin: définit la description de la construction

J'essaie de remplacer notre pipeline de construction actuel, actuellement piraté à l'aide de tâches Jenkins de la vieille école, par un nouvel emploi utilisant le plug-in de pipeline Jenkins et chargeant une Jenkinsfile à partir du référentiel de projet.

L’ancien travail consistait à définir la description de la construction de manière à inclure le hachage, le nom d’utilisateur et la version actuelle de Mercurial à l’aide du plugin Description setter , afin de faciliter la recherche des versions.

Existe-t-il un moyen de reproduire/émuler ce comportement avec le plug-in de pipeline Jenkins?

31
jjst

Je viens de le comprendre. Le travail de pipeline expose une variable globale currentBuild avec des propriétés accessibles en écriture. La définition de la description peut être effectuée avec:

currentBuild.description = "my new description"

n'importe où dans le script de pipeline. Plus d'informations dans ce didacticiel DZone .

60
jjst

La réponse de @jjst explique comment définir la description de la construction dans des "pipelines scriptés". Dans les pipelines déclaratifs, vous pouvez faire la même chose, mais vous devez le placer dans un bloc script { }. Voici un exemple tiré de des commentaires sur l'article de Cloudbees :

pipeline {
    agent any
    stages {
        stage("1st stage") {
            steps {
                script {
                    currentBuild.displayName = "My custom build name"
                    currentBuild.description = "My custom build description"
                }
            }
        }
    }
}
1
t0r0X

Cela n'a peut-être pas été le cas lorsque jjst a écrit sa réponse, mais maintenant, avec les derniers jenkins et plugins, vous pouvez le définir en dehors du pipeline principal en haut. Cela signifie que vous n'avez pas à intégrer les paramètres de script et à suivre des étapes spéciales, etc.

currentBuild.description = "my new description"
pipeline {...

ou

currentBuild.description = """
blah
blah
blah
"""
pipeline {
1
krad