LINUX.ORG.RU
решено ФорумAdmin

Динамические формы билдов в Jenkins

 ,


0

1

Привет.

Хочу в Jenkins динамически формировать форму билда.

Т.е. я хочу выпадающий список и в зависимости от выбранного значения показывать разные переменные. Такое вообще возможно?

В xml-конфигурацию билда могу все подпихнуть заранее - это не проблема, знать бы как именно.

★★★★

Посмотрите на https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin Позволяет писать скрипты для динамического выбора параметров в параметризованном билде. Минуса 2: * Такой билд нельзя дернуть автоматически, только руками. * Похоже из-за Groovy дженкинс иногда начинает подтекать. Решиили перезапуском раз в сутки.

larrabee
()
Ответ на: комментарий от larrabee

К сожалению этот плагин не подходит, т.к. использует scriptler. А scripler - это дырка в безопасности.

Difrex ★★★★
() автор топика

Решал похожую задачу. В выпадающем списке выбирал переменную, в зависимости от ее значения задавал значения других переменных используя bash-скрипт.

gadzira
()
Ответ на: комментарий от gadzira

А где ты использовал bash-скрипт? В build step или в параметрах?

Если подскажешь где это сделать, буду очень признателен.

Difrex ★★★★
() автор топика

Т.е. я хочу выпадающий список и в зависимости от выбранного значения показывать разные переменные. Такое вообще возможно?

Если делать задачи по шаблонам (см. jenkins-job-builder), то эта магия не нужна. Общие части помещаются в шаблон или макрос, а потом генерится нужное количество джоб с разными наборами входных параметров.

Управление конфигурацией простое из-за шаблонизации, интерфейс простой потому что нет иерархии параметров, она отсекается на уровне выбора нужной задачи.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Если делать задачи по шаблонам (см. jenkins-job-builder), то эта магия не нужна

Это сейчас так и делается. Просто хотелось избежать создания сотен билдов.

Difrex ★★★★
() автор топика
Ответ на: комментарий от Difrex

Прямо таки сотен? Или все-таки десятков?

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

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

alpha ★★★★★
()
Ответ на: комментарий от alpha

Прямо таки сотен? Или все-таки десятков?

Сотен :)

Я не боюсь, что дженкинс что-то у нас может не потянуть. Просто придется плодить много вкладок под билды разного типа.

Да, получается джоба с триггером, которая генерирует все остальные. Она пускается автоматически. Те, которые она сгенерировала будут пускать QA-шечки руками для деплоя своих тестовых кластерков.

На прод-то все автоматом льется и там проблем нет.

Difrex ★★★★
() автор топика
Ответ на: комментарий от Difrex

Да, получается джоба с триггером, которая генерирует все остальные

DSL-плагин? замени на jjb, он гораздо прямее, с ним проще обрабатывать изменения, проще ревьюить и т.п.

И применение не кликом в интерфейсе, а по мерджу в репозиторий.

alpha ★★★★★
()
Ответ на: комментарий от Difrex

ну и если у тебя за тысячу джоб на одном дженкинсе - пора выделить дженкинс под конкретные задачи.

Просто чисто по удобству использования - управлять дженкинсом проекта гораздо удобнее чем дженкинсом всего. При этом overhead при использовании правильных инструментов практически минимален.

Шарить шаблоны между дженкинсами легко и хранить их можно в одном репозитории.

alpha ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.