2017-07-20 9 views
0

gitlabからwebhookをセットアップして、タグプッシュイベントに基づいてjenkinsジョブを開始しました。マージやコミットは可能ですが、開発者はタグを使いたいと思います。確かに、うまくいきます。この仕事は、タグ付けされたコミットのハッシュを取得し、それも動作することを確認しました。その後、この仕事は、可能性のあるプレイブックを実行する別の仕事を開始し、ビルドを開始します。ゲンキンズの変数を無理矢理に渡そうとしています

私はgitコミットハッシュを潜在的なextra_varとして渡そうとしています。実行シェルコマンドを使ってビルドステップでファイルにハッシュを書き出します。ポストビルドアクションを使用して、ダウンストリームジョブをトリガーしています。このプロパティファイルからパラメータを使用しています。

コンソール出力がこれを確認すると、コミットハッシュがエコーアウトしていることがわかります。 プロパティファイルが含まれています。私がしようとするとansible脚本は、右のgitのコミットを取得しますので、余分なVARとしてGIT_KEYを渡すとき

GIT_KEY=3432134325e4323423 (fake sample hash provided) 

問題は、下流の仕事です。私は次のエラーを取得する:

/usr/bin/git checkout --force ${GIT_KEY}", "failed": true, "msg": "Failed to checkout ${GIT_KEY}" 

私は静的に余分VARS値を設定し、これをテストしてみた、そしてそれが動作するので、私は脚本の作品を知っています。その変数を補間しないでください。正しく渡すか、または私が期待する通りです。

誰かがextra_varとしてジェンキンズのパラメータを渡す方法を知っていますか?

+0

2番目のジョブでverifedしました.jenkinsのジョブレベルで、変数が定義されていない変数をエコーアウトすると、変数が定義されていません。 – tman

答えて

0

あなたは以下のようにGIT_KEYを渡していると仮定すると:私はそれだけでparamterizedビルドプラグインで動作させることができなかった

ansible-playbook my_playbook.yml -e GIT_KEY=$GIT_KEY -e JENKINS_BUILD_NUMBER=$BUILD_NUMBER 

あなたの脚本では、あなたが{{ GIT_KEY }}{{ JENKINS_BUILD_NUMBER }}

0

で余分なVARSを参照。 しかし、私は回避策で動作するようになった、私はファイルからキー:値を読み取るために下流のジョブでinjectEnvプラグインを使用して、私は余分なvarとして渡すことができ、

関連する問題