2012-12-19 2 views
2

В настоящее время я использую jenkins с svn и хотел создать определенные теги на основе того, что генерирует сценарий оболочки, который у меня есть на моем сервере. Сценарий экспортирует список имен тегов, которые я хочу построить каждые пять минут; Я хотел, чтобы дженкинс получил этот список, а затем перешел в список, создав каждый из тегов.Создание конкретных проектов на основе переменных среды/вывода оболочки

Возможно, мне показалось, что можно получить параметризованный вариант сборки, чтобы создать единую ревизию и не мог видеть, как можно обрабатывать список сборок. Должен ли я использовать опцию pre-build shell? Если да, то каким образом я могу инициировать сборку для каждого тега, сгенерированного скриптом?

По сути, я ищу лучший способ для создания конкретных тегов svn, возвращаемых моим скриптом оболочки в jenkins. Кроме того, переменные env представляют собой наилучшую форму для списка, который будет использоваться для получения jenkins, поскольку мой скрипт может быть легко изменен, чтобы соответствовать тому, что может понадобиться в любом формате jenkins.

ответ

2

Parameterized Trigger plugin может быть в состоянии перебирать список параметров (редакция 2.12 претензий что-то подобное), но я не знаю, как вызвать его, так вот несколько альтернатив:

Одно решение заключается в создании сборки («Конструктор тегов»), которая принимает параметр, который указывает тег, из которого следует строить. Затем создайте еще одну сборку, которая использует ваш входной файл для запуска сборок построителя тегов с помощью Jenkins Remote API. Мастер-сборка будет содержать шаг сборки оболочки, который выполняет итерацию через ваш входной файл и извлекает URL-адрес Jenkins, который инициирует задание. URL-адрес вашего экземпляра Jenkins http://jenkins:8080/job/MY_JOB/api описывает, как это сделать.

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

В зависимости от срока службы ваших тегов лучшим решением может быть использование Jenkins Remote API для создания сборок извне с использованием вашего скрипта и конфигурации шаблона. В URL-адресе http://jenkins:8080/api описано, как создать работу.

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