代码改变世界

.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks

  敏捷的水  阅读(2454)  评论(0编辑  收藏  举报

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

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

有如下几种:

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

1. Interval Trigger

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

<intervalTrigger name="continuous" seconds="30" buildCondition="ForceBuild"/>

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

seconds: 两次集成的时间间隔

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

                ForceBuild,不管有无修改都运行

2. Schedule Trigger

<scheduleTrigger time="23:30" buildCondition="ForceBuild">
    
<weekDays>
        
<weekDay>Monday</weekDay>
    
</weekDays>
</scheduleTrigger>

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

3. Filter Trigger

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

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

5.Project Trigger

由别的项目引起集成

<projectTrigger serverUri="tcp://server:21234/CruiseManager.rem" project="Server">
    
<triggerStatus>Success</triggerStatus>
    
<innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild"/>
</projectTrigger>
triggerStatus:引起集成的条件,可能的值有 Success, Failure, Exception and Unknown
6. Url Trigger
有制定的Url文件修改引起的集成,buildCondition可设为默认IfModificationExists
<urlTrigger url="http://server/page.html" seconds="30" buildCondition="ForceBuild"/>
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示