2010-11-24 17 views
1

У меня есть этот раздел в моем файле CruiseControl config.xml:Как вы используете метки для сборки в издательстве в cruisecontrol?

<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} не заменяется ярлыком сборки, как я ожидаю. Я ожидаю увидеть что-то вроде build.1 вместо ${label}. Как это сделать?

У меня есть стандартный labelincrementer, настроенный с тегом <labelincrementer /> в моем проекте.

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

+0

Я устанавливаю щедрость на этом, так как я действительно не получил хорошего ответа. – Omnifarious 2010-12-26 19:25:41

ответ

0

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

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

1

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

Он встроен в банку и помещен в каталог CruiseControl \ lib.

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

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

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

+0

Ну, это почти то, что я хочу. Я действительно хочу, это ярлык, содержащий номер сборки CruiseControl, который, как я считаю, он уже поддерживает. * вздох * Я знаю Java, но я презираю это. И CruiseControl тоже очень похож на SVN. Это действительно раздражает. Но это единственный инструмент, который делает то, что я хочу. :-(Похоже, возможно, мне придется погрузиться в код для инкремента метки по умолчанию и выяснить, какой тег он устанавливает. – Omnifarious 2010-11-24 15:34:54