Ответ 1
Что действительно помогло мне: Хадсон: как передать параметры оболочке script
Решение: переменные UPPERCASE даже определяют их в нижнем регистре!
Я хочу использовать параметры, которые мы определяем в задании jenkins, в качестве параметра в качестве аргумента для оболочки script в том же задании
Я добавил параметризованную сборку и добавил параметр
high.version: 234
low.version: 220
Я хочу получить доступ к этой переменной в моей части BUILD в качестве аргумента для оболочки script
/bin/bash /hai/mycode/scripts/run_script.sh high.version
как получить доступ к этому параметру в том же задании
Что действительно помогло мне: Хадсон: как передать параметры оболочке script
Решение: переменные UPPERCASE даже определяют их в нижнем регистре!
Jenkins создаст переменные среды с именами параметров.
Здесь предостережение заключается в том, что Дженкинс также будет делать это для параметров, которые не представляют действительных имен переменных - с ними трудно получить доступ в bash
. Это относится к вашему примеру, поскольку имена переменных bash
не должны содержать символ .
.
Самое простое решение состоит в том, что вы
high_version
и low_version
(которые являются действительными bash
именами переменных)Пример:
/bin/bash /hai/mycode/scripts/run_script.sh "$high_version"
Попробуйте это?
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
Вr,
Тим