同じ Web アプリケーション用に cc.net で 2 つのプロジェクトをセットアップしました。インターバル トリガーを使用して正常に動作する継続的インテグレーション プロジェクトと、cronTrigger を使用する「ナイトリー ビルド」プロジェクト。ナイトリー ビルドは基本的にステージング/テスト サーバーをビルドしてデプロイするため、誰かがコミットを行うたびに再ビルドで中断されることなくテストできます。私がやりたいことは、毎朝午前 6 時に自動ビルドし、それ以外の時間にビルドする場合は強制ビルドを許可することです。私が使用しているcron式は0 6 * * *
、これは正しいと思い、cc.netで「次のビルド時間」を正しく設定しているようです。私が遭遇している問題は、ビルド条件を IfModificationExists に設定すると、最後のビルド以降に変更がない場合、スケジュールされた時間にビルドされないことです。これは問題ありませんが、誰かがコミットするとすぐにビルドされます。これは私が望んでいるものではありません。次の予定時刻まで待ちたいと思います。そこでビルド条件をForceBuildに設定してみましたが、これはコミットの有無に関係なく毎日午前6時にビルドするだけだと思っていましたが、何度も何度もビルドするようにはなりません。私は何が間違っているのですか?
編集 これが本当にこれ以上の有用な情報を提供するかどうかはわかりませんが、さらにコメントします。
<triggers>
<cronTrigger>
<buildCondition>IfModificationExists</buildCondition>
<cronExpression>0 6 * * *</cronExpression>
</cronTrigger>
</triggers>
また
<triggers>
<cronTrigger>
<buildCondition>ForceBuild</buildCondition>
<cronExpression>0 6 * * *</cronExpression>
</cronTrigger>
</triggers>