2016-07-22 8 views
0

ジェンキンスに別の仕事に戦争を送る:は、私は私のジェンキンスインスタンスに2つのジョブを構築しました

  1. Gradleのジョブが戦争のタスクを構築し、展開する準備ができてWARファイルを生成します。
  2. DockerジョブはリポジトリからDockerイメージを作成します。

両方とも正常です。しかし、第2のものは第1のものに依存する。だから、Dockerジョブは、Gradleジョブによって生成された最後のwarファイルを使用する必要があります。

どうすればできますか?

答えて

0

parameterized job triggerプラグインを使用して、パラメータ付きのサブジョブをトリガすることができます。上記の問題を解決するには、次の手順を実行する必要があります。

  1. 前述の2つのサブジョブを持つ親ジョブを作成します。
  2. 最初のジョブを起動し、ファイルwarのアーティファクトをアーカイブします。
  3. 次に、最初のジョブの最後のトリガビルド番号を2番目のジョブに渡し、そのジョブを開始します。開始する前に渡された特定のビルド番号を持つ最初のジョブからCopy artifactsプラグインを使用してwarをコピーします。

これで問題は解決します。

+0

@Devavrataさんのご意見ありがとうございます。私は渇望の項目をかなり理解していない。親と2つのサブサブジョブを作成する必要があるのはなぜですか?私は2つの仕事を作り、親なしでお互いに情報を送ることができませんか? – Jordi

0

最初のジョブ(Gradleジョブ)のポストビルドタスクを使用して、warファイルをDockerジョブのワークスペースに単にコピーします。ビルドする前にワークスペースをクリーンアップしないようにDockerジョブを設定します。ビルド後のアクションでは、ビルド後にdelete workspaceを選択します。これにより、Gradleジョブのワークスペースに最新のwarファイルのみが確実に保存されます。また、既にビルドトリガを使用していない場合は、ポストビルドトリガを使用してください。

Good Luck!

関連する問題