Jenkins переменные задачи на bash
Переменные задачи можно делать только на groovy. Этот способ дает возможность задавать переменные на bash.
В Inject environment запускается groovy-скрипт, который запускает shell-скрипт на сервере с параметрами.
В shell-скрипте делается два запроса curl. Один заливает файл, второй шарит его и возвращает ссылку назад в groovy в виде переменной задачи, которую потом можно будет использовать.
Таким образом мы получаем возможность на старте создавать переменные не записывая их в файл на bash. Groovy в этом случает выступает прослойкой для запуска скрипта shell и получения переменных. Из минусов - shell-скрипты нужно будет хранить где-то. Больше минусов не увидел, по безопасности секьюрные переменные так и остаются в логе закрытыми.
var1 - передаваемый параметр
VAR - получаемая перемнная, которую можно будет использовать дальше
t=(['bash', "/tmp/dropbox.sh", "$var1"].execute().text)
def map = ["VAR": t]
Комментарии
Отправить комментарий