2012-03-01 4 views
1

CCNetにスケジュールされた時間にプロジェクトをビルドさせようとしていますが、私は次のブロックを持っています:CCNet別のプロジェクトが正常にビルドされた場合にのみスケジュールされたビルド

<triggers> 
    <multiTrigger operator="And"> 
    <triggers> 
     <projectTrigger project="Trunk Integration Tests"> 
     <triggerStatus>Success</triggerStatus> 
     <innerTrigger type="intervalTrigger" seconds="30" buildCondition="IfModificationsExist" /> 
     </projectTrigger> 
     <scheduleTrigger time="15:00" buildCondition="ForceBuild" name="Scheduled" /> 
    </triggers> 
    </multiTrigger> 
</triggers> 

なぜ私はこれをやりたいのですか? 1時間に1回実行される統合テストがあります。上記のコードが作成されるビルドは、コードをプルダウンしてコンパイルし、そのコードを当社のサーバーの1つにプッシュするデプロイメントビルドです。私たちは、devサーバー、QA、およびステージング用のデプロイメントビルドを用意しています。

私が抱えている問題は、統合ビルドが成功した直後、このビルドが昨日午後4時45分に発覚したことです。 CCNetは、ビルドの理由はBuild (ForceBuild) triggered from Scheduledだと言います。

ここでは何が起こっているのですか?説明したように機能させるにはどうすればよいですか?

答えて

1

この場合は<multiTrigger>を避けることができると思います。 <projectTrigger>を作成し、その<innerTrigger><scheduleTrigger>のタイプに設定することができます。このようなもの:

<triggers> 
    <projectTrigger project="Trunk Integration Tests"> 
    <triggerStatus>Success</triggerStatus> 
    <innerTrigger type="scheduleTrigger" time="15:00" buildCondition="IfModificationsExist" name="Scheduled" /> 
    </projectTrigger> 
</triggers> 
+0

答えをいただきありがとうございます。私はそれを試して報告します。 – Andy

+0

依存プロジェクトは決して起動しません。 \t \t \t \t \t 成功 \t \t \t \t \t \tアイデアはありますか? –

0

私は、triggerFirstTimeを使用してスケジュール間隔で起動します。

<projectTrigger project="MyProject"> 
     <triggerStatus>Success</triggerStatus> 
     <triggerFirstTime>true</triggerFirstTime> 
     <innerTrigger type="scheduleTrigger" time="10:30" buildCondition="ForceBuild" name="Scheduled" /> 
    </projectTrigger> 
関連する問題