2010-08-18 3 views
4

J'ai un projet dans CruiseControl.net que j'essaye de créer un programme pour qu'il fonctionne à un certain temps la plupart des jours.Pourquoi le déclencheur de mon projet CruiseControl.net ne fonctionne-t-il pas?

Le problème est que cela ne fonctionne pas. L'heure planifiée ne se met pas à jour dans le tableau de bord CCnet, il semble que je supprime le déclencheur du projet. Alors ça marche ... mais ce n'est pas construire un projet donc donc inutile.

Dans mon 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> 

Lorsque je supprime cette ligne:

<projectTrigger project="MyProject" /> 

le next build time dans les mises à jour du tableau de bord correctement, et il ne s'exécute à ce moment spécifié mais rien ne se passe évidemment.

Quel est le problème avec cela? J'utilise version CruiseControl.net: 1.5.7256.1

Répondre

2

J'ai trouvé une autre façon d'y parvenir en tout simplement pas faire un projet distinct et de mettre cela dans le projet un:

<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> 

Cela donne à la fois une version planifiée du code le samedi soir à 20h00 et se construira si le code source change.

Espérons que cela peut aider quelqu'un d'autre à essayer de réaliser la même chose.

3

Vous ne devez pas créer un projet différent. Je pense que vous avez mal compris le ProjectTrigger, ProjectTrigger doit démarrer la construction si un autre projet a fini de construire (dans votre cas, il commencerait à construire MyProject tous les soirs quand MyProject , ce que je ne pense pas est ce que vous voulez).

Quel est exactement le comportement que vous voulez?

Si vous voulez que votre projet de construction de la modification de contrôle de code source et nighly vous devez configurer comme ceci:

<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> 

qui est strictement équivalent à un MultiTrigger avec un opérateur OR.

Questions connexes