webentwicklung-frage-antwort-db.com.de

Jenkins-Pipeline-Plugin: Legt die Build-Beschreibung fest

Ich versuche, unsere derzeitige Build-Pipeline, die derzeit zusammen mit Jenkins-Jobs der alten Schule gehackt wurde, durch einen neuen Job zu ersetzen, der das Jenkins-Pipeline-Plugin verwendet und eine Jenkinsfile aus dem Projekt-Repository lädt.

Beim Legacy-Job wurde die Build-Beschreibung so festgelegt, dass der Mercurial-Hash, der Benutzername und die aktuelle Version mithilfe des Description-Setter-Plugins enthalten sind, sodass Builds leicht zu finden sind.

Gibt es eine Möglichkeit, dieses Verhalten mit dem Jenkins-Pipeline-Plugin zu replizieren/emulieren?

31
jjst

Ich habe es gerade herausgefunden. Der Pipeline-Job macht eine globale Variable currentBuild mit beschreibbaren Eigenschaften verfügbar. Das Einstellen der Beschreibung kann mit folgendem durchgeführt werden:

currentBuild.description = "my new description"

irgendwo im Pipeline-Skript. Weitere Informationen in diesem DZone-Tutorial .

60
jjst

Die Antwort von @jjst beschreibt, wie Sie die Build-Beschreibung in "Skript-Pipelines" festlegen. In deklarativen Pipelines können Sie dasselbe tun, müssen es jedoch in einen script { }-Block einfügen. Hier ein Beispiel aus Kommentaren zum Cloudbees-Artikel :

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

Dies war möglicherweise nicht der Fall, als jjst seine Antwort schrieb, aber jetzt können Sie dies mit den neuesten Jenkins und Plugins außerhalb der Hauptpipeline an der Spitze festlegen. Dies bedeutet, dass Sie keine Skripteinstellung einbetten müssen und spezielle Schritte haben, z

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

oder

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