Примеры задачи modificationReader в CC.Net?


Я пытаюсь создать цепочку сборки, которая распространяет историю изменений через различные этапы сборки. Моей первой мыслью было пар modificationWriter/modificationReader, но у меня возникли проблемы с получением читателя, чтобы прочитать результаты. У кого-нибудь есть примеры или советы?

Я использую последнюю версию CC.NET 1.4.4 SP1. Спасибо!

1 3

1 ответ:

Получил его после некоторой игры.

Обратите внимание, что вам нужна последняя версия CC.NET, я думаю, версия 1.4.3 или новее. Это от 1.4.4 с пакетом обновления 1.

Я впервые попробовал на 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>