【发布时间】:2019-12-19 10:55:45
【问题描述】:
假设我有一个简单的 Jenkins 管道文件,如下所示:
pipeline {
agent any
stages {
stage('Test') {
steps {
sh ...
}
}
stage('Build') {
steps {
sh ...
}
}
stage('Publish') {
when {
buildingTag()
}
steps {
sh ...
send_slack_message("Built tag")
}
}
}
post {
failure {
send_slack_message("Error building tag")
}
}
}
由于每天都有很多非标签构建,我不想发送任何关于非标签构建的松弛消息。但是对于标签构建,我想发送一条成功消息或一条失败消息,不管它在哪个阶段失败。
所以对于上面的例子,我想要:
- 如果是标签构建,并且阶段“测试”失败,我将看到“构建标签时出错”消息。 (在示例中为“是”)
- 当它是一个标签构建并且所有阶段都成功时,我会看到一个“构建标签”消息。 (在示例中这也是一个是)
- 如果不是标签构建,则不会发送松弛消息。 (示例中并非如此,例如,当 'Test' 阶段失败时,会出现“Error building tag”消息)
据我所知,Jenkins 管道语法中没有“条件发布部分”之类的东西,这真的可以帮助我。所以我的问题是,有没有其他方法可以做到这一点?
【问题讨论】:
标签: jenkins