Как вы используете метки сборки в издателях в круиз-контроле? - PullRequest
1 голос
/ 24 ноября 2010

У меня есть этот раздел в моем файле CruiseControl config.xml:

<publishers>
   <onsuccess>
        <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/fred"/>
        <execute command="hg -R hg-succeeded/${project.name} pull"/>
        <execute command="hg -R hg-succeeded/${project.name} tag -l build-${label} -r tip"/>
    </onsuccess>
</publishers>

Я получаю теги, которые выглядят как build-${label}. Часть ${label} не заменяется меткой сборки, как я ожидаю. Я ожидаю, что вместо ${label} появится что-то вроде build.1. Как мне это сделать?

В моем проекте по умолчанию задан labelincrementer с тегом <labelincrementer />.

Кроме того, документация CruiseControl абсолютно ужасна. Где-нибудь есть лучшая документация?

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Если вы хотите заменить ${label} на что-то вроде номера редакции SVN, вы можете создать плагин инкрементатора меток - см. http://www.java2s.com/Open-Source/Java-Document/Build/cruisecontrol/net/sourceforge/cruisecontrol/labelincrementers/SVNLabelIncrementer.java.htm для примера.

Он встроен в jar-файл и помещен в каталог CruiseControl \ lib.

В конфигурации CC вы определите этот плагин, объявив:

<project ...>
  <plugin name="labelincrementer" class="my.subclass.of.LabelIncrementer" />
  <labelincrementer />
  ...
</project>

Вы можете добавить любые атрибуты, которые вам нравятся, внутри вашего тега <labelincrementer ... />;они будут внедрены в экземпляр вашего подкласса LabelIncrementer методами setXXX.

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

Ну, никто не ответил на этот вопрос, поэтому я выложу этот ответ сюда, чтобы завтра выбрать его и потерять награду. Вздох

Мой ответ - использовать Hudson , так как похоже, что CruiseControl действительно отказался от какой-либо полезной разработки и переключился на работу с версией .NET, которая меня не интересует. знает, как это сделать в CruiseControl Я все еще уши.

...