这块配置在什么情况下运行集成

通常你会用Interval trigger,就是每个多长时间运行一次集成,Schedule trigger也是经常使用的,Filter Trigger是在某种情况下组织集成的运行(比如你正在进行备份),你也可以制定一个空的节点<triggers/>只能手动执行。

有如下几种:

  • Filter Trigger
  • Interval Trigger
  • Multiple Trigger
  • Project Trigger
  • Schedule Trigger
  • Url Trigger

1. Interval Trigger

每隔一段时间执行一次集成

.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks<intervalTrigger name="continuous" seconds="30" buildCondition="ForceBuild"/>

name: trigger的名字,可以随便起,

seconds: 两次集成的时间间隔

buildCondition: IfModificationExists,只有源码有修改才运行

                ForceBuild,不管有无修改都运行

2. Schedule Trigger

.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks<scheduleTrigger time="23:30" buildCondition="ForceBuild">
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
<weekDays>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks        
<weekDay>Monday</weekDay>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
</weekDays>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks
</scheduleTrigger>

time:什么时间执行,buildCondition同上, weekDays是和集合Monday-Sunday,哪天执行。

3. Filter Trigger

什么时间,什么类型的Trigger不执行

.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks<filterTrigger startTime="23:30" endTime="23:45">
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
<trigger type="intervalTrigger" seconds="60" />
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
<weekDays>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks        
<weekDay>Sunday</weekDay>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
</weekDays>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks
</filterTrigger>
4.Multiple Trigger
多个Trigger,operator如果是And那么任何一个Trigger没有执行,集成都不执行。可选值是And 和Or
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks<multiTrigger operator="And">
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks        
<triggers>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks            
<intervalTrigger />
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks            
<filteredTrigger startTime="23:30" endTime="23:45" />
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks        
</triggers>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks 
</multiTrigger>

5.Project Trigger

由别的项目引起集成

.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks<projectTrigger serverUri="tcp://server:21234/CruiseManager.rem" project="Server">
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
<triggerStatus>Success</triggerStatus>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks    
<innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild"/>
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks
</projectTrigger>
triggerStatus:引起集成的条件,可能的值有 Success, Failure, Exception and Unknown
6. Url Trigger
有制定的Url文件修改引起的集成,buildCondition可设为默认IfModificationExists
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks<urlTrigger url="http://server/page.html" seconds="30" buildCondition="ForceBuild"/>

相关文章:

  • 2021-05-26
  • 2021-12-17
  • 2021-09-26
  • 2021-12-04
猜你喜欢
  • 2021-10-21
  • 2021-09-05
  • 2021-09-20
  • 2021-11-12
  • 2021-09-29
  • 2021-06-28
相关资源
相似解决方案