我们有一些依赖构建,我想首先启动它们...(谈论RTC / Jazz源代码控制中使用的RTC / Jazz构建定义 - 我们使用来自RTC / Jazz的构建引擎)
有没有办法将序列添加到不同的构建定义中?构建在两个不同的构建引擎上执行,甚至在不同的构建服务器上。现在我必须复制结果并手动发布...
一个重要的注意事项:这些是夜间构建,将当天的所有工作集中在一起......它们通过每个构建定义中的“计划选项”触发。但想想当一个构建尚未准备好而另一个构建尚未开始时会发生什么? (这已经发生了,我想进一步避免它)......
处理此问题的正确方法是什么? (也许我使用的搜索选项错误但谷歌和Stackoverflow没有结果)
答案 0 :(得分:2)
RTC中的构建调度程序管理与TeamCity或Jenkins一样完整(实际上,RTC4 +允许将该作业调度功能委派给Jenkins)
但是如果你想在构建定义之间引入一个序列,你可以看看" How to keep your streams flowing smoothly in Rational Team Concert 3.0.1"中介绍的构建后交付。
这个想法是,如果构建成功,则触发传递到另一个流(post-build deliver step)
如果该另一个流由另一个作业监视,则该作业只有在前一个作业成功时才会启动:序列已实现。
这似乎比adding pre/post-build extensions points简单。
请注意构建后步骤currently don't get run when a build is invoked by the Team Concert Plugin for Jenkins。请参阅WI 277270。
答案 1 :(得分:1)
您可以在每次成功构建后向jour jazz服务器发送帖子请求,例如: 本地主机:/jazz/service/com.ibm.team.build.internal.common.ITeamBuildRequestService
<request>
<method>requestBuild2</method>
<interface>com.ibm.team.build.internal.common.ITeamBuildRequestService</interface>
<parameters xsi:type="com.ibm.team.repository.common.services:ComplexDataArg">
<type>COMPLEX</type>
<value xsi:type="build:BuildRequestParams">
<allowDuplicateRequests>true</allowDuplicateRequests>
<personalBuild>false</personalBuild>
<buildDefinition itemId="YOUR_BUILD_DEFINITION_NAME" />
</value>
</parameters>
</request>