2009-08-19 64 views
3

我試圖設置一個構建鏈,通過各種構建階段傳播修改歷史記錄。我的第一個想法是修改Writer/modificationReader對,但是我無法讓讀者閱讀結果。有人有任何例子或提示嗎?CC.Net中的修改讀取器任務的示例?

我正在使用最新的CC.NET 1.4.4 SP1。謝謝!

回答

1

玩過一段時間就明白了。

請注意,您需要最新版本的CC.NET,我認爲版本1.4.3或更新版本。這是從1.4.4 SP1開始的。

我第一次嘗試使用1.4.0,但ModificationReader任務在舊版本中不存在。

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