как переопределить номер сборки круизконтроля - PullRequest
1 голос
/ 16 июля 2009

Мы используем cruisecontrol в качестве инструмента CI. Я хотел бы знать, как переопределить номера сборок, назначенные cruisecontrol.

Причина: У нас есть параллельная программа Cruisecontrol Sessioon для разных модулей, и я не хочу, чтобы для каждого модуля были разные номера сборки, а один и тот же номер.

Ответы [ 4 ]

3 голосов
/ 04 сентября 2009

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

Я только что попробовал это с нашим недавно обновленным (2.8.2) круиз-контролем, и он действительно работает отлично.

  1. Используйте задачу labelincrementer, чтобы получить некоторую гибкость следующим образом: На вашем config.xml используйте задачу: <<em> проект >

    <<em> labelincrementer defaultLabel = "my.cruise.build.1" />

    <<em> / проект >

  2. Убедитесь, что в вашем домашнем каталоге круиза нет сериализованных файлов сборки (файл будет иметь имя <<em> your_project >. Ser. Если вы видите этот файл с предыдущих попыток сборки , удалите его. Не волнуйтесь, он будет воссоздан заново. Это необходимо для того, чтобы задачи сборки не заглядывали в этот файл и не увеличивали номер в предыдущем формате, а не на новый, указанный вами в config.xml

  3. Удаление / очистка всех файлов журнала из каталога журнала (из области <<em> cchome > / logs / <<em> project_name >) Это необходимо, чтобы избежать выполнения задач сборки из ссылаясь на значения метки из предыдущих сборок.

Как только вы сделаете все это, как указано, запустите сборку, и вы увидите метку для следующей сборки, как вы указали в «my.cruise.build.1»

Просмотрите эту страницу, если вам нужна дополнительная информация: http://cruisecontrol.sourceforge.net/main/configxml.html#labelincrementer

0 голосов
/ 21 июля 2009

Я делаю то же самое. Самым очевидным решением для меня было иметь 2 экземпляра CC, работающих на 2 файлах config.xml, по одному для каждого проекта. Каждый из них получит свой номер сборки, хранилище, настройки и т. Д.

0 голосов
/ 21 июля 2009

Если вы используете Subversion, есть способ пометить вашу сборку в svn, а затем получить эту метку для использования в других сборках. К сожалению, я никогда не настраивал это, только видел, как оно использовалось, поэтому я не могу предложить какие-либо подробности о том, как его реализовать.

0 голосов
/ 16 июля 2009

AFAIK, это невозможно при использовании стандартного CruiseControl (без пользовательских плагинов)

Самым близким является ярлык "remoteProjectLabeller", который будет использовать ярлык сборки другого проекта:

    <labeller type="remoteProjectLabeller">
        <project>OtherProject</project>
    </labeller> 
...