Круиз-контроль Публикация команды при сбое - PullRequest
2 голосов
/ 20 декабря 2010

У меня проблема с публикацией моего текущего статуса проекта.

Отображение:

<publishers>  
  <xmllogger /><!-- Log For WebDashboard ##Do not remove##-->    
  <email>
    ...
  </email>
  <onfailure>  
    <exec>
      <executable>echo ERROR > logs/status.txt</executable>
    </exec>
  </onfailure>            
</publishers>

Когда я хочу запустить службу, я получаю следующее сообщение:

ThoughtWorks.CruiseControl.Core.Config.ConfigurationException: Невозможно создать экземпляры проектов CruiseControl из документа конфигурации. В документе конфигурации, скорее всего, отсутствуют узлы Xml, необходимые для правильного заполнения конфигурации CruiseControl. Невозможно загрузить элемент массива 'onfailure' - невозможно преобразовать тип System.String в ThoughtWorks.CruiseControl.Core.ITask для объекта со значением: "echo ERROR> logs / status.txt"

Кто-нибудь знает, что означает это сообщение?

Спасибо в ожидании

Alex

Ответы [ 2 ]

5 голосов
/ 20 декабря 2010

Вы используете CruiseControl или CruiseControl.NET?

Если CC.NET, то узел "onfailure" не существует. Вместо этого вы должны использовать Conditionnal Publisher [1] следующим образом:

<conditionalPublisher>
    <conditions>
        <condition>Failure</condition>
    </conditions>
    <publishers>
        <exec>
            <executable>echo ERROR > logs/status.txt</executable>
        </exec>
    </publishers>
</conditionalPublisher>

Вам также может понадобиться инкапсулировать вашу задачу эха в вызове cmd:

<exec>
    <executable>cmd.exe</executable>
    <buildArgs>/c "echo ERROR > logs\status.txt"</buildArgs>
</exec>

[1] http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Conditional%20Publisher.html

0 голосов
/ 20 декабря 2010

Из документации похоже, что <executable> должно быть именем исполняемого файла, а аргументы должны быть переданы в <buildArgs>.Так что-то вроде этого может сделать свое дело.

<exec>
  <executable>echo</executable>
  <buildArgs>ERROR > logs/status.txt</buildArgs>
</exec>
...