作业dsl是否有办法配置postBuildSteps,只有在构建成功时才能执行Maven作业。我看到有postSuccessfulBuildSteps只适用于发布工作。作业DSL - 如何配置postBuildSteps Maven只有在构建成功时才启动
回答
您必须使用“配置”块“定制” <runPostStepsIfResult>
设置追加到config.xml中
这个工作对我来说:如果你需要添加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支持,您可以通过在Jenkins中手动配置作业来查找所需的内容,然后在Jenkins-主磁盘上查看结果3210。这通常位于${JENKINS_HOME}/jobs/job-name/config.xml
在http://job-dsl.herokuapp.com/作业-DSL操场是测试修改,直到你得到它匹配手动设置什么时候做詹金斯在作业/作业名称/ config.xml文件的东西有用的地方。
这很奇怪,但它不适用于'postBuilders',但开始使用'postbuilders'(小写)。我在jenkins-1.596.2 – 2015-04-02 16:20:39
@Slava上测试过它你说得对,应该是小写,我也是1.596.2。 我注意到“Run only if build succeeded”无线电不再设置,“runPostStepsIfResult”块实际上应该在
你错过了阅读我的问题,我在询问'只有在构建成功时才配置postBuildSteps'的方式' – Pushkar 2014-11-16 15:28:38
这工作:
postBuildSteps("SUCCESS") {
...
}
这是2017年的正确答案。 – 2017-10-16 13:06:52
- 1. 配置hudson maven作业,在测试失败时继续构建,但只在没有测试失败时部署
- 2. 如何在Jenkins上配置Maven构建作业以告知SonarQube构建作业的URL?
- 3. 作业DSL管线配置触发器
- 4. 不正确的作业配置插件使用工作DSL
- 5. 只有在构建成功的情况下,才能在Visual Studio中启动makefile的任何聪明方法?
- 6. 如何在作业DSL中配置多个shell步骤
- 7. 如何使用Jenkins DSL设置所有作业的作业超时
- 8. Quartz Scheduler只有在没有运行时才执行作业
- 9. 由job-dsl生成的Jenkins作业没有选择默认的Maven设置
- 10. Jenkins下游(构建后行动)工作的DSL是什么?
- 11. iPhone构建配置启用功能
- 12. 设置Jenkins构建名称只在成功构建
- 13. Jenkins DSL作业失败
- 14. JDBC:`con.rollback()`只有在`con.commit`没有成功时才有效果?
- 15. 如果某个特定的最后工作构建成功,则构建作业
- 16. 如何在使用Maven 2.0集成eclipse时禁用Maven构建?
- 17. 如何在gitlab中创建新分支时启动Jenkins作业?
- 18. 如何杀死配置单元启动的mapred作业?
- 19. 创建作业时需要访问作业启动器参数
- 20. Spring集成DSL KafkaProducerContext配置
- 21. ios构建作品只有24小时
- 22. 在种子作业创建后立即启动jenkins作业
- 23. 如何*手动*在Visual Studio中启动上次成功的构建?
- 24. CCNet只有在另一个项目成功构建的情况下才会安排构建
- 25. Jenkins推广构建插件的作业DSL支持
- 26. PHP只有在成功提交时才会感谢你
- 27. 只有在首次启动时才会出现decisionPolicyForNavigationAction错误IPad
- 28. 只有在启动事务时才需要调用SET XACT_ABORT?
- 29. 启动作业的自动超时
- 30. 如何将Maven多模块构建拆分为多个Jenkins构建作业?
你实际上是说要动态地重新配置工作,而它运行?你想运行“maven”步骤,如果成功触发dsl添加随后运行的后续步骤? – 2015-02-17 11:10:11
没有。詹金斯只有在构建成功的情况下才提供后期构建操作的方法 – Pushkar 2015-02-24 18:09:02
好吧我想我明白了;你想用Job-DSL创建一个PostBuildAction的maven作业。 PostBuildAction部分必须配置为仅在maven步骤成功时才运行。 – 2015-02-24 23:15:54