web-dev-qa-db-ja.com

別のジョブワークスペースにプルする必要がありますか、それともそこから2番目のジョブの依存関係をプッシュする必要がありますか?

CI/CDの手順について質問があります。私は2つのJenkinsジョブを持っています。最初のジョブは、2番目のジョブのビルドに依存するバイナリファイルを正常にビルドします。

このバイナリを1番目のジョブから2番目のジョブにプッシュするか、このバイナリを1番目のジョブから2番目のジョブにプルする必要がありますか?

私は[〜#〜] not [〜#〜]ここでGitについて話している...

基本的に:

1)Push-> 1stは、完了時にバイナリを2番目のジョブにプッシュします

2)プル-> 2番目のバイナリが最初のジョブの開始時にプルされます

CDはオプション1)をカバーすると思いますが、同時に、すべての依存関係を取得してアトミックにビルドできるようにするために、2番目のジョブを担当する必要があると思います。

1
Marcelo Filho

それを引っ張ると、将来の管理が容易になり、拡張可能になります。

  • プルされたバイナリが見つからなかった場合の対処方法を決定できます。
  • 複数のパイプラインをプッシュすることを想像してください。各受信パイプラインで何を行うかについてさらに柔軟性が必要な場合は、consumer(2番目のパイプライン)の追加の関連情報を送信する必要があります。 consumerの部分は、受信する命令に依存するべきではありませんが、可能な入力でそれが何をすべきかを知っています。
1
Ali I. Demirel

これは、2番目のジョブの設定方法と、パイプライン全体が完了するまでにかかる時間に部分的に依存します。

時間に問題がない場合は、1)が自然なアプローチです。時間に問題があり、ジョブ2)が依存関係を必要とせずにいくつかの作業を開始できる場合は、ここで最適化を試みることができます。

0
Michael Krejci