在作业dsl中,只有在构建成功时,才能为maven作业配置postBuildSteps。我看到postSuccessfulBuildSteps仅适用于发布作业。
答案 0 :(得分:4)
您必须使用“configure”块将“custom”<runPostStepsIfResult>
设置附加到config.xml
这对我有用:
job(type: Maven) {
name('MyMavenJob')
goals('install')
preBuildSteps {
shell('#!/bin/bash\n' +
'echo "PRE BUILD SCRIPT"\n' +
'env | sort\n' +
'echo "PRE BUILD END"\n')
}
postBuildSteps {
shell('#!/bin/bash\n' +
'echo "POST BUILD SCRIPT"\n' +
'env | sort\n' +
'echo "POST BUILD END"\n')
}
// Append <runPostStepsIfResult> at the end of the xml
// (which will be just after the closing </postbuilders> tag)
// "it" is a groovy.util.Node representing the
// root <project> element of config.xml.
configure { it <<
'runPostStepsIfResult' {
name('SUCCESS')
}
}
}
一般情况下,如果您需要添加Job DSL不支持的XML,您可以通过在Jenkins中手动配置作业找到所需内容,然后在Jenkins上查看该作业的结果config.xml
- 主盘。这通常位于${JENKINS_HOME}/jobs/job-name/config.xml
http://job-dsl.herokuapp.com/上的job-dsl playground是一个测试更改的有用位置,直到你获得的东西与手动设置时Jenkins在job / job-name / config.xml文件中的作用相匹配。
答案 1 :(得分:1)
这有效:
postBuildSteps("SUCCESS") {
...
}
答案 2 :(得分:0)