CruiseControl.NETは、最終ビルドラベル以降のIfModificationExistsを毎晩ビルドします

StackOverflow https://stackoverflow.com/questions/1202913

  •  05-07-2019
  •  | 
  •  

質問

1台のサーバーを使用して、同じプロジェクトを継続的および夜間に構築しています。ただし、日中に変更が存在する場合にのみ、ナイトリービルドをビルドしたいと思います。私は両方のビルドが同じ作業フォルダーを使用するという制約でこれを達成したいと思っています。

検討している2つのオプションは次のとおりです。

  1. 連続ビルドをポーリングし、連続ビルドが発生した場合のみ夜間ビルドをビルドします-おそらくトークンシステムを使用します(連続ビルドセットトークン、夜間クリアトークン)。

  2. ビルド前タスクを実行してソースコードを最終ビルド時刻に戻す

ビルドスクリプトを分離するため、2番目のオプションに傾いていますが、それははるかに難しいタスクのようです。

これを行うための提案とヒントをいただければ幸いです!

追加情報:

  

CIビルドは、   1つの構成でのソリューションと   多分、いくつかの高速な単体テストを実行します。

     

ナイトリービルドはビルドをクリーンにします   環境、ソフトウェアのビルド、パッケージ化   インストーラー、拡張テストの実行、ラベル付け   ソースコードリポジトリ、展開   サーバー共有へのインストーラー   手動テスターが受け取り、メール   テスト可能なビルドを行うテストチーム   作られました。

     

私は   夜間ビルドがあった場合に発生する   実質的に同じビルドのテスターが繰り返しメールに悩まされることがないように、日中のチェックイン。

役に立ちましたか?

解決 2

新しいソリューションに満足しています...

私は、MultiTriggerとscheduleTriggerおよびprjectTriggerをナイトリービルド(フルビルドを呼び出す方が良い)およびWriteModification / ReadModificationペアで使用して、この質問

他のヒント

このタスクを単純化しすぎているかもしれませんが、プロジェクトに2つのトリガーを単純にセットアップすることはできませんか?連続ビルド用の1つの間隔トリガーと、夜間ビルド用のIfModificationExists条件を持つ1つのスケジュールトリガー。

<triggers>
  <intervalTrigger seconds="60" name="Continuous" />
  <scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled">
      <weekDays>
        <weekDay>Monday</weekDay>
      </weekDays>
  </scheduleTrigger>
</triggers>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top