2011-07-01 16 views
7

複数の設定(linux、osx、 solaris)をビルドしてテストする必要があります。私は "linux"、 "osx"、 "solaris"と名付けられたスレーブノードを持っています。 各設定では、煙のテストが合格すると、(a)煙のテストを実行します()。(c)完全なテストを実行してください。jenkinsマルチ設定のビルドとテストの設定方法

私はマルチコンフィギュレーションジョブが答えかもしれないと思ったので、私は マルチコンフィギュレーションビルドジョブをセットアップし、各 OSでコンカレントビルドを開始します。ビルドジョブは、ダウンストリームのスモークテストビルドをトリガーします。これは、 になり、フルテストジョブをトリガーします。

全体が失敗したような構成の一つは、ジョブの失敗、およびSolarisは を構築する場合 ジェンキンスは、任意の下流のジョブ(例えば、発生しません場合、私は次の問題

  1. に実行しました失敗すると、Jenkinsはosxと Linux用のスモークテストや完全なテストを実行しません)。

  2. は、Solarisのビルドは、他の人のように(時間の 程度)の約2倍の時間がかかり、およびSolarisは、終了するの構築のために私はいない 待機LinuxとOSXの煙テストを好むだろう。

私は手工芸の仕事の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 

わかりませんでしたか?

答えて

4

私が知っている限り、答えはシステムごとに1つずつ、3つのマトリックスジョブを作成することです。彼らは、ビルドジョブをタッチストーンとして3つのサブジョブ(ビルド、スモークテスト、フルテスト)を行います。

+0

私はこの回答で少し混乱しています。 3つの行列ジョブがある場合、それぞれの軸は何ですか? 'matrix job' == 'multijob'はここですか? – Dormidont

3

ビルド、スモークテストとフルテストを1つのマルチ設定ジョブに組み合わせることを考えましたか?ちょっと面倒なこと以外は、これはあなたのために働くはずです。結果にかかわらず下流の仕事をトリガするために、使用トリガパラメータ化ビルドをするとき、完全な実行(常にトリガー)してから第二の問題に答えるために

を「W/Oパラメータを構築する」をチェックするために:あなたの最初の問題に答えるために

:すべての包括的なマルチ構成(マトリックス)ジョブを使用するか、言及したように3つの別々のジョブ・ストリームを使用します。更新:各ステップ(ビルド、スモークテスト、フルテスト)ごとに3つのシーケンシャルマトリクスジョブを実行できますが、いずれかのビルドステップが失敗した場合、スモークテストは実行されません。

関連する問題