我正在尝试让CCNet在预定时间建立一个项目,但是只有在上次成功构建另一个项目时才会这样做。我有以下块:
<triggers>
<multiTrigger operator="And">
<triggers>
<projectTrigger project="Trunk Integration Tests">
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="30" buildCondition="IfModificationsExist" />
</projectTrigger>
<scheduleTrigger time="15:00" buildCondition="ForceBuild" name="Scheduled" />
</triggers>
</multiTrigger>
</triggers>
要避免任何有关我为什么要这样做的问题;我们有一个小时运行一次的集成测试。上面代码所来自的构建是一个部署构建,它可以下载代码,编译并将代码推送到我们的服务器之一。我们有针对开发服务器,QA和登台的部署版本。
我遇到的问题是,在集成构建成功之后,昨天下午4:45这个版本被解雇了。 CCNet说构建原因是Build (ForceBuild) triggered from Scheduled
。
这里发生了什么,我怎样才能让它像我描述的那样工作?
答案 0 :(得分:1)
我认为在这种情况下可以避免<multiTrigger>
。您可以创建<projectTrigger>
,并将其<innerTrigger>
设置为<scheduleTrigger>
的类型。像这样:
<triggers>
<projectTrigger project="Trunk Integration Tests">
<triggerStatus>Success</triggerStatus>
<innerTrigger type="scheduleTrigger" time="15:00" buildCondition="IfModificationsExist" name="Scheduled" />
</projectTrigger>
</triggers>
答案 1 :(得分:0)
我使用triggerFirstTime来触发计划间隔。
<projectTrigger project="MyProject">
<triggerStatus>Success</triggerStatus>
<triggerFirstTime>true</triggerFirstTime>
<innerTrigger type="scheduleTrigger" time="10:30" buildCondition="ForceBuild" name="Scheduled" />
</projectTrigger>