我们将CC.NET作为持续集成环境。 CC从Git获取每个提交,构建并发布到服务器。
这是配置:
<buildpublisher
<sourceDir>Path_to_dir_with_source</sourceDir>
<publishDir>path_to_deploy</publishDir>
<cleanPublishDirPriorToCopy>true</cleanPublishDirPriorToCopy>
<useLabelSubDirectory>false</useLabelSubDirectory>
<alwaysPublish>true</alwaysPublish>
</buildpublisher>
但是我们的QA engeneer希望每天早上获得“新鲜”,而不是每天20次:)
有人知道如何用CC.NET做到这一点吗?
[UPDATE]
我们仍然需要构建每个提交,但是这个提交只在一天内发送到Web服务器
答案 0 :(得分:6)
使用ScheduleTrigger块:
<scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Scheduled">
<weekDays>
<weekDay>Monday</weekDay>
</weekDays>
</scheduleTrigger>
您也可以使用cronTrigger或intervalTrigger,但对于您的情况,scheduleTrigger似乎最简单。
http://www.cruisecontrolnet.org/projects/ccnet/wiki/Trigger_Blocks
已添加以发表评论:
您可以在一个Project块中拥有多个触发器。
我们有一个间隔触发器和一个Schedule Trigger。您可以根据需要拥有尽可能多的触发器。
如果您希望将构建分开,您还可以拥有一个完全独立的Project块 - 一个在Schedule触发器上运行的块,一个在一个间隔上运行的块,但是存在风险,并且需要计划配置。以下是潜在的考虑因素:
答案 1 :(得分:0)
您可以添加一个计划触发器,强制在特定时间构建项目,即以下内容将在每个工作日上午5点运行构建:
<triggers>
<scheduleTrigger time="05:00" buildCondition="ForceBuild">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>