2009-08-19 7 views
3

J'essaye de mettre en place une chaîne de construction qui propage un historique de modification à travers les différentes étapes de construction. Ma première pensée a été les paires modificationWriter/modificationReader, mais j'ai du mal à faire lire les résultats par le lecteur. Quelqu'un a-t-il des exemples ou des astuces? J'utilise le dernier CC.NET 1.4.4 SP1. Merci!Exemples de tâche modificationReader dans CC.Net?

Répondre

1

Après l'avoir joué.

Notez que vous avez besoin d'une version récente de CC.NET, je pense que la version 1.4.3 ou plus récente. Ceci est à partir de 1.4.4 SP1.

J'avais d'abord essayé sur 1.4.0 mais la tâche ModificationReader n'existe pas dans les versions plus anciennes.

<cruisecontrol> 

    <!--WATCH SANDBOX CONTINUOUS IS A TRIGGER TO CONTINUOUS BUILD AND INDIRECTLY FULL BUILD --> 
    <project name="WatchSandboxContinuous" queue="TestQ" queuePriority="4"> 
    <triggers> 
     <intervalTrigger/> 
    </triggers> 
    <sourcecontrol type="your_source_control_type"> 
     ... 
    </sourcecontrol> 
    <tasks> 
     <modificationWriter> 
     <filename>mods.xml</filename> 
     <path></path> 
     <appendTimeStamp>True</appendTimeStamp> 
     </modificationWriter> 
     <nullTask /> 
    </tasks> 
    </project> 

    <!--BUILD SANDBOX CONTINUOUS WOULD DO A FAST CONTINUOUS BUILD AND TRIGGER FULL BUILD --> 
    <project name="BuildSandboxContinuous" queue="TestQ" queuePriority="3"> 
    <triggers> 
     <projectTrigger project="WatchSandboxContinuous" /> 
    </triggers> 
    <prebuild> 
     <modificationReader> 
     <filename>mods.xml</filename> 
     <path>C:\Program Files\CruiseControl.NET\server\WatchSandboxContinuous\Artifacts</path> 
     <deleteAfterRead>True</deleteAfterRead> 
     </modificationReader> 
    </prebuild> 
    <tasks> 
     <!--Propagate modification history to next full build--> 
     <modificationWriter> 
     <filename>mods.xml</filename> 
     <path></path> 
     <appendTimeStamp>True</appendTimeStamp> 
     </modificationWriter> 
     <nullTask /> 
    </tasks> 
    </project> 

    <!--BUILD SANDBOX FULL WOULD DO A FULL REBUILD AT NIGHT WITH ANY ADDITIONAL TASKS --> 
     <project name="BuildSandboxFull" queue="TestQ" queuePriority="2"> 
     <triggers> 
      <multiTrigger operator="And"> 
      <triggers> 
       <projectTrigger project="BuildSandboxContinuous" /> 
       <scheduleTrigger buildCondition="ForceBuild" time="23:00" /> 
      </triggers> 
      </multiTrigger> 
     </triggers> 
     <prebuild> 
      <modificationReader> 
      <filename>mods.xml</filename> 
      <path>C:\Program Files\CruiseControl.NET\server\BuildSandboxContinuous\Artifacts</path> 
      <deleteAfterRead>True</deleteAfterRead> 
      </modificationReader> 
     </prebuild> 
     <tasks> 
      <nullTask /> 
     </tasks> 

     </project> 

    </cruisecontrol>