Передать переменную из Jenkins в скрипт Ruby (новичок Jenkins)

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

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

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

Спасибо


person adam reed    schedule 14.09.2011    source источник


Ответы (2)


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

person Feasoron    schedule 14.09.2011
comment
Итак, для «выборной» переменной среды, называемой Environment, с параметрами QA, Dev и Production и одной задачей сборки, которая вызывает rake: куда будет передаваться переменная Environment? Или значение уже доступно для разгребания? ENV['Окружающая среда']? - person adam reed; 14.09.2011
comment
Похоже, он уже доступен как ENV['variablename']. Спасибо! - person adam reed; 15.09.2011

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

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

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

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

person Silviu Mar    schedule 02.07.2015