Merge Publisher - что делаетна самом деле делать в CruiseControl.Net? - PullRequest
1 голос
/ 09 ноября 2011

Я унаследовал проект, который запускает сценарии TestComplete от CruiseControl. Для каждого сценария есть запись в CCnet.Config, и каждая запись заканчивается следующим:

<publishers>
  <merge>
   <files>
     <file action="Copy">
        C:\Test\Log\TestCompleteResult\TestWebLog.mht
     </file>
   </files>
  </merge>
 <xmllogger />
 <statistics />

Что, как я предполагал, копирует журнал TestComplete в это место. Однако, если я изменю местоположение (то есть на C: \ test \ log2 \ TestWebLog.mht), файл все равно окажется в C: \ Test \ Log \ TestCompleteResult. Я попытался завершить работу CruiseControl, перезагрузить систему и т. Д., И файл все равно оказался в том же месте.

Я удалил каталог и файл, проверил отметку времени и посмотрел файл журнала. Все они указывают на то, что это новый файл, созданный при последнем запуске сценария TestComplete, но он всегда помещается в одно и то же место: C: \ Test \ Log \ TestCompleteResult \ TestWebLog.mht.

Есть ли еще место, где можно определить этот путь?

Ответы [ 2 ]

1 голос
/ 11 июня 2014

Из CruiseControl.NET Wiki :

Копировать: вместо слияния данных в журнал сборки он скопирует указанные файлы в папку «build» впапка артефактов для проекта

В ccnet.config вы можете указать каталог artifact для каждого проекта, в который будут помещены результаты сборки.

<project name="Project">
<artifactDirectory>C:\ProjectDir\artifacts</artifactDirectory>
...
</project>

Действие слияния по умолчанию - объединить указанный файл с файлом result.xml, найденным в каталоге артефактов.Действие слияния «Копировать» копирует указанный файл в папку artifactdirectory \ Build .

Файл, указанный в тегах <file>...</file>, является файлом source , которыйбудет скопирован в папку артефакта.

0 голосов
/ 09 ноября 2011

Издатель <merge> включает существующий файл в отчет о сборке. Если вы хотите изменить местоположение, в котором создается файл, вам нужно изменить конфигурацию задачи (то есть в том месте, где фактически вызывается TestComplete).

...