2016-08-24 8 views
10

Я хочу использовать те параметры, которые мы определяем в работе Дженкинс в качестве параметра в качестве аргумента оболочки сценария в том же работеКак использовать параметры Дженкинс в сценарии оболочки

Я добавил параметризированные сборки и добавлен параметр

high.version: 234

low.version: 220

Я хочу, чтобы получить доступ к этим переменной в моей BUILD части в качестве аргумента для сценария оболочки

/bin/bash /hai/mycode/scripts/run_script.sh high.version 

как этот параметр в одном задании

ответ

7

Дженкинс будет создавать переменные окружения с именами параметров.

Предостережение здесь состоит в том, что Jenkins будет также сделать это для параметров, которые не представляют действительные имена переменных - с ними трудно получить доступ в bash. Это имеет место в вашем примере, так как имена переменных bash не должны содержать символ ..

Самым простым решением является то, что вы

  • переименовать ваши параметры, например, к high_version и low_version (которые являются допустимыми bash именами переменных)
  • затем использовать соответствующие имена переменных при вызове сценария

Пример:

/bin/bash /hai/mycode/scripts/run_script.sh "$high_version" 
-1

Вы попробуете это?

echo "function hello() { " > gg.sh 
echo "echo \$1">> gg.sh 
echo "}" >> gg.sh 
echo "hello \$1" >> gg.sh 
chmod 777 gg.sh 

./gg.sh $hello_version 

Будьте осторожны с именем переменной, точка не очень хорошо поддерживается, для деталей, вы можете это исправить. https://issues.jenkins-ci.org/browse/JENKINS-7180

Br,

Tim