Я довольно новичок в Дженкинс, и я впервые настраиваю параметры. У меня есть несколько учетных записей, для которых я хочу запустить один и тот же код, чтобы сократить количество строк кода.
У меня есть 5 учетных записей, которые используют одно и то же соглашение в своем URL:
export PROFILE=account_one
export PATH="http://account_one/this-is-just-an-example/stack-overflow"
, в то время как 1 учетная запись не следует этому соглашению:
export PROFILE=account_two
export PATH="http://second_account/this-is-just-an-example/stack-overflow"
В любом случае, я создал многострочный строковый параметр с именем «account», и для значения я ввел все 5 имен учетных записей. Вот что я пытаюсь сделать сейчас:
if [ "${account}" = ???]
then
export PROFILE=${account}
export PATH="http://${account}/this-is-just-an-example/stack-overflow"
python3 run_code.py
elif [ "${account}" = "account_two" ]
export PROFILE="account_two"
export PATH="http://second_account/this-is-just-an-example/stack-overflow"
python3 run_code.py
fi
Во-первых, я хочу убедиться, что я делаю это правильно, так как я никогда раньше не использовал параметризацию в Дженкинсе.
Во-вторых, я тоже не знаком с Bash, поэтому я не уверен насчет синтаксиса здесь.
Наконец, это больше вопрос программирования, я не уверен, что вставить в первый оператор , если . Что я пробовал, так это установил aws_account в операторе if для каждого значения в многострочном строковом параметре. Например:
if [ "${account}" = "account_one"] || [ "${account}" = "account_three"]
Хотя каждая учетная запись имеет свое имя и будет нуждаться в другом PATH, т. Е. Путь к account_one равен "http://account_one / this-is-only-an-example / переполнение стека", поэтому я не хочу, чтобы account_three имел путь" http://account_one / это просто пример / переполнение стека".
Я знаю, что мое понимание нечеткое, но у Дженкинса нет лучших примеров, большинство из них - вопросы без ответа на inte rnet. Пожалуйста помоги.
РЕДАКТИРОВАТЬ: я создал два многострочных строковых параметра, один для учетных записей, которые следуют за форматом файла, и один для учетных записей, которые этого не делают. Я решил использовать для l oop для каждой учетной записи:
for i in "${account[@]}"; do
export PROFILE=${i}
export PATH="http://${i}/this-is-just-an-example/stack-overflow"
python3 run_code.py
done
for i in "${account_other[@]}"; do
export PROFILE=${i}
export PATH="http://${i}/this-is-just-an-example/stack-overflow"
python3 run_code.py
done
Это правильно?