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

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 5: Строка 5:
   
 
= В чем сложность ?=
 
= В чем сложность ?=
В целом решается задача достаточно несложно - особенно когда есть одно приложение и один репозиторий, но ситуация другая когда приложений и репозиториев (а соответвенно и ключей к ним) становится много
+
В целом решается задача достаточно несложно - особенно когда есть одно приложение и один репозиторий, но ситуация другая когда приложений и репозиториев (а соответственно и ключей к ним) становится много
  +
<BR>
  +
Это тоже не кажется сложным, просто использовать для каждого приложения свой скрипт где будет "зашит" свой адрес и ключ.
  +
<BR>
  +
НО в этом случае получаем множество скриптов которые нужно будет синхронно обновлять и правильно вызывать
  +
<BR>
  +
Хочется использовать ОДИН скрипт который '''единственный''' модифицировать при добавлении приложения.
  +
   
 
<BR>
 
<BR>

Версия 12:19, 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

Пример кода