2010-08-18 65 views
4

我在CruiseControl.net上有一个项目,我试图创建一个时间表,让它在大多数日子的特定时间运行。为什么我的CruiseControl.net项目不会触发工作?

问题是它不起作用。预定的时间不会在CCnet仪表板中更新,看起来直到我删除项目触发器。然后它的工作..但它不是建立一个项目,所以没用。

在我的ccnet.config

<project> 
    <name>MyProject-nightly</name> 

     <triggers> 
     <multiTrigger operator="And"> 
      <triggers> 
       <projectTrigger project="MyProject" /> 
       <scheduleTrigger time="11:23" buildCondition="ForceBuild"> 
        <weekDays> 
         <weekDay>Monday</weekDay> 
         <weekDay>Tuesday</weekDay> 
         <weekDay>Wednesday</weekDay> 
         <weekDay>Thursday</weekDay> 
         <weekDay>Friday</weekDay> 
         <weekDay>Saturday</weekDay> 
        </weekDays> 
       </scheduleTrigger> 
      </triggers> 
     </multiTrigger> 
    </triggers> 

    </project> 

当我删除此行:

<projectTrigger project="MyProject" /> 

next build time在正确的仪表板更新,它在被指定的那段时间执行但显然没有任何反应。

这是什么问题?我使用CruiseControl.net版本:1.5.7256.1

回答

2

我没有找到一个不同的方式,通过简单地不做一个单独的项目,并把这种在一个项目来实现这一点:

<triggers> 
    <multiTrigger operator="And"> 
     <triggers> 
     <intervalTrigger name="Continuous Integration" seconds="5" buildCondition="IfModificationExists" initialSeconds="30" /> 
      <scheduleTrigger time="20:00" buildCondition="ForceBuild"> 
       <weekDays> 
        <weekDay>Saturday</weekDay> 
       </weekDays> 
      </scheduleTrigger> 
     </triggers> 
    </multiTrigger> 
</triggers> 

这使周六晚上8:00 PM的代码预定版本,并且如果源代码更改将生成代码。

希望这可以帮助别人试图达到同样的事情。

3

您不必创建不同的项目。我认为您也误解了ProjectTrigger,如果另一个项目已经完成构建,ProjectTrigger将开始构建(在您的情况下,它将在MyProject完成构建时每晚开始构建MyProject ,我不认为这是你想要的)。

你想要的行为究竟是什么?

如果你希望你的项目,从源头控制改造建设和nighly您必须配置这样的:

<triggers> 
    <intervalTrigger name="Polling From source control" seconds="60" BuildCondition="IfModificationExists"/> 
    <scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Nighly Build"> 
     <weekDay>Monday</weekDay> 
     <weekDay>Tuesday</weekDay> 
     <weekDay>Wednesday</weekDay> 
     <weekDay>Thursday</weekDay> 
     <weekDay>Friday</weekDay> 
     <weekDay>Saturday</weekDay> 
    </scheduleTrigger> 
</triggers> 

这是完全等同于multitrigger用OR运算符。

相关问题