0

私は Hudson がとても気に入っていますが、一連のチェックインをすばやく処理する方法がわかりません。チェックインごとにスモーク テストが実行され、変更番号 1234 の回帰がチェックイン 1235 および 1236 の前に終了しない場合、それはどのように処理されるのでしょうか? どの変更リストが実行されたかを追跡する外部スクリプトまでありますか、それともハドソンがこれを追跡しますか? ドキュメントを調べて、これがどのように処理されているかを確認しようとしましたが、何も見つかりませんでした。

私の質問に説明が必要かどうか教えてください。

4

2 に答える 2

1

リビジョン番号を入力パラメーター (REVISION_NUMBER など) として受け取る、パラメーター化されたビルド (SMOKE_TEST など) を作成できます。もちろん、チェックアウトは (トリガーとしてではなく) ビルド ステップの 1 つとして実装する必要があります。

ビルド手順:

  1. ビルド パラメータ REVISION_NUMBER に基づいて必要なリビジョンをチェックアウトします
  2. スモークテストを実行する

次に、新しいリビジョンのソース管理リポジトリを監視する別のジョブ (REVISION_CONTROLLER など) を実装します。新しいリビジョンが見つかるとすぐに、ジョブは次のような SMOKE_TEST ジョブの Hudson HTTP URL を使用して新しいリビジョンで SMOKE_TEST インスタンスを開始します: http://server/job/SMOKE_TEST/buildWithParameters?REVISION_NUMBER= ...

SMOKE_TEST のすべてのインスタンスがキューに入れられるため、1234 が終了していない場合、1235 はそれを待ちます。また、再実行したい場合に備えて、カスタム リビジョンのスモーク テストを開始する機会もあります。

于 2011-03-03T01:20:11.443 に答える
0

実用的なアプローチ:

  • 最初のジョブをできるだけ短くし、必要に応じて後でより長いジョブをトリガーできるようにします (例: Maven で目標をコンパイルするかインストールするかを検討します)。
  • クイック ジョブに 2 分かかる場合は、2 分ごとに SCM をポーリングします。

これは、すべてのコミットのコンパイル (「スモーク」) を保証するものではありませんが、閉じます。また、Hudson/Jenkins は変更を追跡します。ジョブ ページの [変更] メニュー項目と、各ビルド ページの [変更] メニュー項目を参照してください。

于 2011-03-04T12:51:44.370 に答える