我正在尝试用Jenkins流水线插件替换我们当前使用老式的Jenkins作业拼凑在一起的构建流程,并从项目存储库加载一个Jenkinsfile
的新作业。
旧的作业中有一项功能是使用描述设置插件将构建描述设置为包含Mercurial哈希值、用户名和当前版本,以便于查找构建。
是否有一种方法可以使用Jenkins流水线插件来复制/模拟这种行为呢?
我正在尝试用Jenkins流水线插件替换我们当前使用老式的Jenkins作业拼凑在一起的构建流程,并从项目存储库加载一个Jenkinsfile
的新作业。
旧的作业中有一项功能是使用描述设置插件将构建描述设置为包含Mercurial哈希值、用户名和当前版本,以便于查找构建。
是否有一种方法可以使用Jenkins流水线插件来复制/模拟这种行为呢?
我刚刚弄清楚了。管道作业公开了一个可写属性的currentBuild
全局变量。可以通过以下方式设置描述:
currentBuild.description = "my new description"
管道脚本中的任何位置。在DZone教程中可以找到更多信息。
displayName
的名称,链接如下:https://qa.nuxeo.org/jenkins/pipeline-syntax/globals#currentBuild - user9903sh''' '''
中设置这个? - undefined@jjst的回答描述了如何在“脚本管道”中设置构建说明。在声明性管道中,您可以执行相同的操作,但需要将其放置在 script {}
块内。以下是从Cloudbees文章评论中摘取的完整工作示例:
pipeline {
agent any
stages {
stage("1st stage") {
steps {
script {
currentBuild.displayName = "My custom build name"
currentBuild.description = "My custom build description"
}
}
}
}
}
当jjst写他的答案时,可能还不是这样,但现在随着最新的jenkins和插件,你可以在主管道顶部设置此选项。这意味着您不必嵌入脚本设置并具有特殊步骤等。
currentBuild.description = "my new description"
pipeline {...
或者
currentBuild.description = """
blah
blah
blah
"""
pipeline {
currentBuild.displayName
也适用吗?我们正在使用脚本流水线,因此这不适用于我们,我无法测试它。我想其他人也想知道。 - willkil我不确定它有多久的历史,但是最近我发现了buildDescription
插件,它提供了一种声明性的方法来设置构建描述。安装后,使用它非常简单:
steps {
buildDescription 'my build'
}
新的运行描述为 'my build'