Передача переменной из сценария Дженкинса в Ruby (новичок Дженкинса) - PullRequest
2 голосов
/ 14 сентября 2011

Я вытащил несколько сценариев в Jenkins для подтверждения концепции и думаю, что хотел бы изменить это направление для всех наших сценариев. Прямо сейчас я храню файл environment.rb со своим кодом (watir-webdriver, cucumber), который сообщает сценарию, какую среду мы тестируем и какой браузер использовать (глобальные переменные). Дженкинс запускает сценарий с помощью граблей.

Я бы хотел позволить пользователю выбрать среду и браузер через переменную Jenkins 'choice' или аналогичную, а затем передать это сценарию. В то время как я вижу в этом фреймворк для Jenkins и настраиваю список выбора для среды, у меня возникают проблемы с определением следующего шага.

Я мог бы написать в environment.rb, я мог бы передать переменную в rake - у меня есть много вариантов передачи информации, мне просто нужна помощь в поиске первого шага, чтобы найти способ Дженкинса их выполнить. Результаты Google и предыдущие вопросы о стеке были не тем, что я искал.

Спасибо

Ответы [ 2 ]

4 голосов
/ 14 сентября 2011

Конечно.Дайте пользователю любое поле ввода текста после того, как сообщите Jenkins, что это параметризованная сборка.Вы дадите им имя, что-то вроде BuildEnvironment.Затем, когда вы вызываете сборку, вы можете передать их из переменных среды.Например, если вы используете ANT, вы добавите в параметры строку, в которой говорится, что environment = $ {MyEnvironment} Jenkins передаст значение для использования вашим инструментом сборки.

1 голос
/ 02 июля 2015

Существует способ передать переменную среды Jenkins в скрипт Ruby.Пожалуйста, смотрите следующий пример:

workspace_path = `echo $WORKSPACE`.strip # note the use of backticks
puts workspace_path

В строке "echo $ WORKSPACE" .strip # код работает, только если вы заменяете кавычки обратными чертами

Этот пример кодаработает в Jenkins в системе Linux.

...