2

Как я могу установить практику непрерывной интеграции тегов вместо ветвей?Создание тегов с использованием непрерывной интеграции

Я следующую структуру тегов каталога репозитория (here более подробное объяснение хранилища структуры):

/tags 
    /builds 
     /PA 
     /A 
     /B 
    /releases 
     /AR 
     /BR 
     /RC 
     /ST 

Я хотел бы настроить мой непрерывный инструмент интеграции (это может быть что угодно, от CruiseControl, Хадсон и Jenkins для TeamCity) для создания последнего тега, если он был создан в любой из этих папок.

Например, если изменилась структура и тег 1.x.0 появился в PA каталоге, я хочу, чтобы вызвать построение исходного кода под 1.x.0 тега:

/tags 
    /builds 
     /PA 
      /1.x.0 -> triggers build 
     /A 
     /B 
    /releases 
     /AR 
     /BR 
     /RC 
     /ST 

Можно ли построить источник под бирками с любым из существующие инструменты непрерывной интеграции, или я должен написать свой собственный плагин для этой цели?

ответ

2

С Дженкинс: использовать периодическую работу для проверки новых тегов, а затем использовать Parametrized Trigger Plugin пнуть свою работу с тегом в виде параметр. Задание будет вручную обновляться до тега и строить.

+0

@altern, вы попробовали это? –

+0

@melankiy_scot Как настроить периодическое задание на проверку новых тегов? Я использую для этого плагин? – ziggy

+0

@ziggy, я имел в виду нечто более легкое, как скрипт. Например, в SVN команда 'svn ls [REPO_URL]/tags' предоставит вам содержимое« тегов », вы можете сохранить его для сравнения при следующем запуске задания. Конечно, вы можете использовать плагин для опроса изменений в репозитории и выполнения задания (которое запускает скрипт) только при изменении каталога 'tags'. –

0

С Jenkins (Hudson) и Subversion вы можете иметь тег, который является постоянным, например tags/BUILD. Когда что-либо с тегом меняется, Jenkins будет строить на основе этого тега. Затем вы можете попросить его применить новый тег после сборки.

В вашем примере вы можете создать новый тег как tags/builds/PA и прослушать Jenkins в этом теге. Дженкинс обнаружит любые изменения в папке tags/builds/PA и будет строить, если обнаружит какие-либо изменения. Вы можете настроить шаг post build для создания нового тега (1.x.0), когда он завершит сборку.

Я отвечал на подобный вопрос по этой теме и получил некоторые ответы здесь - http://groups.google.com/group/jenkinsci-users/browse_thread/thread/59ca7f0f9e21a382/fe14fc7269611b26#fe14fc7269611b26

+0

Дело в том, что я хочу создать тег «1.x.0» вручную, а не с инструментом непрерывной интеграции. Morevover, переходящий в каталог тэгов (как вы предлагаете совершать в теги/BUILD), устарел. – altern

Смежные вопросы