私はこれがあなたが求めていることを大まかに行うべきだと思います(テストされていません)。ProjectLast
がステータスSuccess
(30 秒ごとにチェック) で、時間が ~ の間(60 秒ごとに時間をチェック) のときにビルドをトリガーする必要があり14:00
ます。18:00
<multiTrigger operator="And">
<triggers>
<projectTrigger serverUri="tcp://server:21234/CruiseManager.rem" project="ProjectLast">
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild" />
</projectTrigger>
<filterTrigger startTime="14:00" endTime="18:00">
<trigger type="intervalTrigger" seconds="60" />
<weekDays>
<weekDay>Sunday</weekDay>
</weekDays>
</filterTrigger>
</triggers>
</multiTrigger>
クルーズコントロール構成(特にトリガー)のドキュメントには、すべての可能性について十分な説明が必要です。
編集:
したがって、現時点では、次のようなものがあります(私は想像しています):
<project name="ProjectLast">
<tasks>
<!-- some build tasks etc etc -->
<forcebuild>
<project>MyUtility $(ccnet_branchlabel)</project>
<integrationStatus>Success</integrationStatus>
<enforcerName>ProjectLast $(ccnet_branchlabel)</enforcerName>
</forcebuild>
</tasks>
</project>
<project name="MyUtility">
<tasks>
<!-- whatever it is "MyUtility" does goes here -->
</tasks>
</project>
構成を次のように変更することをお勧めします。
<project name="ProjectLast">
<tasks>
<!-- some build tasks etc etc -->
</tasks>
</project>
<project name="MyUtility">
<multiTrigger operator="And">
<triggers>
<!-- the url here will obviously need to change to match your server -->
<projectTrigger serverUri="tcp://server:21234/CruiseManager.rem" project="ProjectLast">
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild" />
</projectTrigger>
<filterTrigger startTime="14:00" endTime="18:00">
<trigger type="intervalTrigger" seconds="30" />
<weekDays>
<weekDay>Sunday</weekDay>
</weekDays>
</filterTrigger>
</triggers>
</multiTrigger>
<tasks>
<!-- whatever it is "MyUtility" does goes here -->
</tasks>
</project>
ここで、MyUtility
実行するかどうかのプロジェクトの決定を、プロジェクトMyUtility
内ではなくプロジェクト内に移動したことに注意してください。ProjectLast