目前我们正在使用" send.notifyBuild(' STATUS')"在我们的Jenkinsfile中(注意 - 方法,notifyBuild来自我们的全局lib)。我想知道Jenkins Multibranch Pipeline项目是否能够在构建之前和之后默认发送电子邮件。甚至没有在JenkinsFile中指定一行代码。
node{
try{
stage ('Checkout'){
checkout scm
send.notifyBuild('STARTED')
}
stage ('Build'){
sh "source ./environment.sh;mvn clean deploy"
}
send.notifyBuild('SUCCESSFUL')
}catch(err){
send.notifyBuild('FAILED')
throw err
}
}
答案 0 :(得分:2)
由于您已经在使用全局库,我建议将其添加到您的库中。这是一种很好的格式化方法:
node {
withNotification {
stage ('Checkout') {
checkout scm
}
stage ('Build') {
sh "source ./environment.sh;mvn clean deploy"
}
}
}
然后,在你的lib的vars/withNotification.groovy
文件中:
def call(Closure body) {
send.notifyBuild('STARTED')
try {
body()
send.notifyBuild('SUCCESSFUL')
} catch (err) {
send.notifyBuild('FAILED')
error "Build failed, caught exception: ${err}"
}
}
我发现这种模式对于低样板流水线非常有用。