CC.Net中的ModifyReader任务示例? [英] Examples of modificationReader task in CC.Net?

查看:105
本文介绍了CC.Net中的ModifyReader任务示例?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试建立一个构建链,以在各个构建阶段传播修改历史。我首先想到的是ModifyWriter / modificationReader对,但是我很难让读者阅读结果。有人有示例或技巧吗?



我正在使用最新的CC.NET 1.4.4 SP1。谢谢!您需要最新版本的CC.NET,我认为是1.4.3版或更高版本。这是从1.4.4 SP1开始的。



我最初在1.4.0上尝试过,但是ModificationReader任务在较早的版本中不存在。

 < cruisecontrol> 

<!-连续观看WATCH SANDBOX会触发连续建立和间接建立的事件->
< 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>

< ;!-内置的沙盒可以连续快速构建并触发完整构建->
<项目名称= 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>
< ;!-将修改历史记录传播到下一个完整版本->
< modificationWriter>
< filename> mods.xml< / filename>
< path>< / path>
< appendTimeStamp> True< / appendTimeStamp>
< / modificationWriter>
< nullTask​​ />
< / tasks>
< / project>

<!-完整的沙盒将在夜间与其他任何任务一起完全重建->
<项目名称= BuildSandboxFull队列= TestQ queuePriority = 2>
< triggers>
< multiTrigger运算符= 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>


I am trying to set up a build chain that propagates a modification history through the various build stages. My first thought was modificationWriter/modificationReader pairs, but I am having trouble getting the reader to read the results. Does anybody have any examples or tips?

I am using the latest CC.NET 1.4.4 SP1. Thanks!

解决方案

Got it after some playing.

Note that you need a recent version of CC.NET, I think version 1.4.3 or newer. This is from 1.4.4 SP1.

I had first tried on 1.4.0 but the ModificationReader task doesn't exist in older versions.

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

这篇关于CC.Net中的ModifyReader任务示例?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆