Вопрос

Я пытаюсь использовать CruiseControl 2.7.3, (оригинал), для создания Java-проекта, который находится в репозитории SVN.

В моей конфигурации круиза используется плагин svn для набора модификаций.При обнаружении модификации планируется сборка с использованием Ant.Затем этот файл сборки Ant использует задачу svnant Ant для выполнения полной проверки проекта.Некоторое время у нас был установлен этот параметр для простой проверки "HEAD", но у нас были случаи, когда сборка не запускалась для проверки или двух, потому что проверка происходила после проверки набора изменений, но до вызова ant для svn checkout.В результате мы пытаемся изменить файл сборки ant, чтобы использовать номер редакции, который получает проверка модификации.

Справочная страница конфигурации CruiseControl утверждает, что свойство, svnrevision - просмотр, устанавливается и передается разработчикам, точно так же, как свойство label задается этикетировщики.Кажется, что он не установлен, когда я нажимаю кнопку наращивание силы кнопка.

Есть ли что-то, что мне нужно сделать, чтобы все это прошло?

Это было полезно?

Решение

Глядя на код для системы управления версиями SVN, кажется, что svnrevision должно быть передано разработчику и, следовательно, вашему вызову Ant.Вы пробовали использовать свойство из вашего Ant-скрипта?

В ответ на вопрос в комментарии:

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

Другие советы

Вызов муравья cruisecontrol не имеет ничего общего с меткой (svn), которая сконструирована как таковая.Метка svn используется для аннотирования имен сборок, тогда как сама сборка.log - это на самом деле просто выходные данные из ant, поскольку они передаются через cruisecontrol.

Если вы хотите, чтобы номер редакции был записан в выходные данные ant build, в основном есть два способа:

Один из способов - заставить ant каким-то образом взаимодействовать с svn.Svn в ant доступен только через дополнительная задача из tigris, так что это нетривиально поместить в ваш ant-файл.Но с этим в вашей сборке вы могли бы сделать информация о svn и получите номер редакции в качестве ant properties в ваше распоряжение.

Другой способ - использовать svnlabelincrementer, чтобы присвоить метке номер редакции и передать его в ant-скрипт с помощью строительные свойства которые передаются из cruisecontrol в скрипты сборки.Как упоминал Джей в комментариях, ярлык содержит только последнюю версию успешной сборки, а это не то, чего он хочет.Было предложено исправление этот блог, но выполнение работы в файле сборки ant кажется более подходящим.

Можете ли вы использовать настройку quietperiod?После фиксации CruiseControl может подождать некоторое время (скажем, 30 секунд), прежде чем запускать сборку.

Он не будет запускать отдельные сборки для каждого коммита.Скорее всего, фиксации примерно в одно и то же время приведут к запуску одной сборки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top