JenkinsActiveChoice: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 15: Строка 15:
   
 
== Пример интерфейса ==
 
== Пример интерфейса ==
  +
* Слева - выбран один сервис и бранча для него
  +
* Справа - выбрано два сервиса и бранчи для обоих сервисов
 
[[File:Screenshot_2022-07-12_at_11.53.46.png|400px]]
 
[[File:Screenshot_2022-07-12_at_11.53.46.png|400px]]
 
[[File:Screenshot_2022-07-12_at_11.54.06.png|400px]]
 
[[File:Screenshot_2022-07-12_at_11.54.06.png|400px]]

Версия 11:09, 12 июля 2022


Jenkins Active Choice

Есть плагин который позволяет динамически формировать значения параметров, например динамически подтягивать список веток в git (НО нельзя динамически создать параметры, и у меня не вышло сделать скрытыми параметры в зависимости от того что выбрано в другом параметре)

В чем сложность ?

В целом решается задача достаточно несложно - особенно когда есть одно приложение и один репозиторий, но ситуация другая когда приложений и репозиториев (а соответвенно и ключей к ним) становится много


Постановка задачи

  • Деплоймент приложения состоящего из множества сервисов: app1, app2, app3 ... appN. Число сервисов может увеличиваться.
  • Сервисы могут деплоится в любых сочетаниях - один, два, все сразу, первый и третий, только номер N ...
  • Для сервиса который выбран для деплоймента предоставлять выбор бранчи, для сервиса который не выбран - не предоставлять


Пример интерфейса

  • Слева - выбран один сервис и бранча для него
  • Справа - выбрано два сервиса и бранчи для обоих сервисов

Screenshot 2022-07-12 at 11.53.46.png Screenshot 2022-07-12 at 11.54.06.png


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

Пример кода