Jenkinsジョブで定義したパラメーターを、同じジョブのシェルコマンドの引数として使用します。
次のパラメーターを使用してパラメーター化ビルドを作成しました。
high.version: 234
low.version: 220
これらの変数をビルドのシェルスクリプトの引数として使用します。
/bin/bash /hai/mycode/scripts/run_script.sh high.version
同じジョブでこれらのパラメーターをどのように使用しますか?
本当に助けてくれたのは ハドソン:シェルスクリプトにパラメーターを渡す方法
解決策:変数を小文字で定義しても、変数は大文字です!
Jenkins 環境変数を作成しますパラメーターの名前。
ここでの注意点は、Jenkinsは有効な変数名を表さないパラメーターに対してもalsoすることです-bash
でアクセスするのは困難です。これは、bash
変数名に.
文字を含めることはできないため、この例に当てはまります。
最も簡単な解決策は
high_version
およびlow_version
(有効なbash
変数名)例:
/bin/bash /hai/mycode/scripts/run_script.sh "$high_version"
パラメータの名前を変更できない場合有効なbash
変数名を表すため(例:使いやすさの理由:Jenkinsは、ビルドを開始するためにWebフォームでエンドユーザーに変数名を提示します):引き続きアクセスできますenv
コマンドの出力でパラメーター名を削除するによるそのようなパラメーター。
これを試してみましたか?
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