Linux、osx、solaris など、複数の構成でビルドしてテストする必要があります。「linux」、「osx」、「solaris」というラベルの付いたスレーブ ノードがあります。各構成で、(a) ビルド (b) スモーク テストの実行 (c) スモーク テストに合格した場合、完全なテストの実行などを行います。
マルチ構成ジョブが答えかもしれないと思ったので、マルチ構成ビルド ジョブをセットアップし、各 OS で同時ビルドを開始します。ビルド ジョブはダウンストリームのスモーク テスト ビルドをトリガーし、次にフル テスト ジョブをトリガーします。
私は次の問題に遭遇しました
構成の 1 つが失敗すると、ジョブ全体が失敗し、Jenkins はダウンストリーム ジョブを起動しません (たとえば、solaris ビルドが失敗した場合、Jenkins は osx および linux のスモーク テストまたはフル テストを実行しません)。
solaris のビルドには他のビルドよりも約 2 倍の時間がかかります (約 1 時間)。Linux と osx のスモーク テストは、solaris のビルドが完了するのを待たずに済ませたいと思います。
これは、ジョブの 3 つのパイプラインを手作業で作成し、それらを「最初の」ジョブ (つまり、次のジョブの作成とハンドチェーン) の背後に配置することを意味するのでしょうか?
build-linux smoke-test-linux full-test-linux
build-osx smoke-test-osx full-test-osx
build-solaris smoke-test-solaris full-test-solaris
明らかな何かを見逃しましたか?