2016-05-25 31 views
3

私は2つのジョブ(AとB)を持っています。 ジョブAはURL-Aのgit repoを指します。 ジョブBは、URL-Bの異なるgit repoを指します。Jenkins:git commitハッシュをダウンストリームジョブに渡す

ジョブAが完了して安定したら、ジョブBを起動し、ジョブAのビルドで使用されたgit commitハッシュを渡す必要があります。

これを達成する最も簡単な方法は何ですか?

(ジョブBは、2つのパラメータを有しているURL-Bからチェックアウトされたスクリプトに対応する:Gitはハッシュとドッカー画像で包み、ドッカーハブにプッシュされるJARアーティファクトをコミット)

答えて

2

ジョブでB、This project is parameterizedを確認してください。 String Parameterを定義し、たとえば「名前」をCOMMITに設定します。ジョブAでPost-build ActionsTrigger parameterized build on other projectsに設定します。 Project to buildはジョブBの名前で、Trigger when build isStableです。 Add ParametersPredefined parametersと入力してください。ここにはCOMMIT=$commitと入力してください。 $commitは通常、あなたが仕事Bの他の事前定義されたパラメータを追加して、あなたは既にGITプラグインを使用して、ジョブAからチェックアウトするときに、ジョブAにそれらのすべてまたは一部に

5

を値を渡すことができ、ジョブAで定義されたPARAMTERあります

:gitのプラグインは、あなたの スクリプトで使用できるいくつかの環境変数を設定します

環境変数

Plugin exportsこと$ GIT_COMMITパラメータを持っています

GIT_COMMIT - 現在

GIT_BRANCHのSHA - リモートリポジトリの名前(原点デフォルト)、 現在使用されているブランチの名前に続いて、例えば 「起源/マスター」または「起源/ foo」という

など

ただ、明示的に(事前定義されたパラメータ、ファイルからのパラメータ、など)ジョブBには、このパラメータを渡すようにしてください。

1

簡単な方法Jenkinsパラメータ化されたトリガー以前のビルドでのみビルドをトリガーできるプラグインが安定しています。

パラメータも渡すことができます。同様に、git commit hashをパラメータに設定し、ジョブBを呼び出します。

ジョブBがそのパラメータを受け取ってさらに処理する場所

関連する問題