誰かがその機能を試し、フィードバックがありましたか?または誰かが調べるのに役立つサンプルを知っていますか?
2 に答える
数か月前にこの機能を試してみましたが、もう使用していません (良い機能ではないからではなく、必要がないからです)。
基本的に、n 軸を定義します。各軸は複数の値を持つプロパティです。
例を見てみましょう: Axis "JDK" を定義し、可能な値は "1.4"、"1.5"、"1.6" で、別のプロパティ "database" を定義します。可能な値は "oracle"、"mysql" です。
したがって、Hudson はビルドを 6 回起動します。
- JDK 1.4 で、プロパティ database=oracle を使用 (つまり、JVM は -Ddatabase=oracle で起動されます)
- JDK 1.5 で、プロパティ database=oracle を使用
- JDK 1.6 で、プロパティ database=oracle を使用
- JDK 1.4 で、プロパティ database=mysql を使用
- JDK 1.5 で、プロパティ database=mysql を使用
- JDK 1.6 で、プロパティ database=mysql を使用
次に、すべてが完了すると、各反復の結果を確認できます。
この機能は、複数の環境 (私の例では、異なるバージョンの JDK またはデータベース) でアプリケーションをテストする必要がある場合に非常に役立ちます。
JDK 軸を除いて、Hudson によってエントリとして指定されたプロパティを自分で管理する必要があることに注意してください。私の例では、アプリケーションは「データベース」プロパティ自体を考慮する必要があります。最終的に、プロジェクトが Maven 化されている場合は、このプロパティを使用して Maven2 構成で特定のプロファイルを有効にすることをお勧めします (詳細については、こちらを参照してください)。
私の説明が十分に明確であることを願っています:)
Matrix ビルドにはいくつかの問題があります。
- プラグインとの互換性はほとんどありません - プラグインは改善されていますが、常に最新の状態に保つ必要があります。
- アーティファクト - くねくねするのがはるかに難しい - URl はもう少し厄介で、FS でそれらを見つけること (とにかく避けるべきです) は今や悪夢です。
コンセプトは非常に優れており、機能する場所で非常に便利なので、これは残念です.
編集
- シングルポイントを開始できない。
これを回避する通常の方法は、パラメーター化されたビルドを同時に実行するように設定することです。これには独自の問題がありますが、同じコードと異なる定数を持つ多くのジョブを節約できます。