- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作业 dsl 中是否有办法仅在构建成功时才为 Maven 作业配置 postBuildSteps。我看到有 postSuccessfulBuildSteps 仅适用于发布作业。
最佳答案
您必须使用“配置” block 来附加“自定义”<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 中手动配置作业来找出您需要的内容,然后查看结果 config.xml
用于 Jenkins 主磁盘上的该作业。这通常位于 ${JENKINS_HOME}/jobs/job-name/config.xml
job-dsl Playground http://job-dsl.herokuapp.com/是一个测试更改的有用地方,直到您获得与 Jenkins 在 job/job-name/config.xml 文件中手动设置时所做的匹配的内容为止。
2022 年更新
现在有一些方法可以处理这种情况,而不需要 configure
的复杂性。 block :
上面的代码似乎不再在 job-dsl playground 中编译。由于其他 API 更改。然而,通过以下修改,它确实可以编译:
mavenJob("example") {
description('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')
}
}
}
关于jenkins - Job DSL - 如何配置 postBuildSteps 以使 Maven 仅在构建成功时才开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040974/
作业 dsl 中是否有办法仅在构建成功时才为 Maven 作业配置 postBuildSteps。我看到有 postSuccessfulBuildSteps 仅适用于发布作业。 最佳答案 您必须使用“
我是一名优秀的程序员,十分优秀!