2009-03-12 8 views
2

私は複数のmsbuildタスクを定義する必要があるシナリオを持っています。私はprojectTriggerを追加しましたが、問題はtriggerStatusを成功または失敗に指定する必要があることです。前のビルドが成功するか失敗するかにかかわらず、ビルドを実行する必要があります。これに最適なソリューションは何ですか?CruiseControl.Netで複数のビルドをコーディネートする方法は?

答えて

0

これらすべてに同じコードベースが含まれている場合(実際に必要なコードより多くのコードを取得しても、監視しているフォルダをクリエイティブにする必要があります)、変更が発生したときにすべてが開始され、それぞれが失敗する。キューの優先順位で順序を設定できます。

または、単一のプロジェクトで複数のMSBuildを使用していますか?もしそうなら、これを行うために私が考えることができる唯一の方法は、あなたの最初のビルドをパブリッシャーセクションのタスクと他のパブリッシャーセクションに置くことです(これは可能です)。これは、以下のタスクが実行されないようにする唯一の方法ですメインビルドが失敗した場合や失敗した場合は問題です。この問題は、失敗した場合にパブリッシャセクションのビルド全体が失敗しないことです。

または...あなたはすべてのために、ビルドを呼び出すマスターのMSBuildを作成することができます....

0

CC.Netあなたは、単一のプロジェクトに複数のトリガを定義することができます。おそらく、2つのプロジェクトトリガーを作成します.1つはSuccess、もう1つはFailureです。

1

私は2つの選択肢が考えられます。 Pedroが述べたように、multiple triggersを設定できます.1つはProjectAの成功、もう1つは失敗です。だから、あなたのProjectBの下:あなたがそれを行うことができます

<multiTrigger operator="Or"> 
    <triggers> 
     <projectTrigger project="ProjectA"> 
      <triggerStatus>Success</triggerStatus> 
     </projectTrigger> 
    </triggers> 
    <triggers> 
     <projectTrigger project="ProjectA"> 
      <triggerStatus>Failure</triggerStatus> 
     </projectTrigger> 
    </triggers> 
</multiTrigger> 

他の方法は、他の方向からです:Force Build Publisherを使用しています。代わりにProjectBの中にトリガーを設定するには、PROJECTAビルドを強制することができます:

<publishers> 
    <!-- other publishers... --> 
    <forcebuild> 
     <project>ProjectB</project> 
     <integrationStatus>Success</integrationStatus> 
    </forcebuild> 
    <forcebuild> 
     <project>ProjectB</project> 
     <integrationStatus>Failure</integrationStatus> 
    </forcebuild> 
</publishers> 

あなたが(成功と失敗のため)2例を定義する必要があること少しグラグラです。もっと良い方法があれば私は研究していない。

1

複数のトリガーは良いアイデアですが、上記の構文で実装したので動作しませんでした。私にとってうまくいったコードは次のとおりです。

<triggers> 
<multiTrigger operator="Or"> 
    <triggers> 
     <projectTrigger project="ProjectA"> 
      <triggerStatus>Success</triggerStatus> 
     </projectTrigger> 

     <projectTrigger project="ProjectA"> 
      <triggerStatus>Failure</triggerStatus> 
     </projectTrigger> 
    </triggers> 
</multiTrigger> 
</triggers> 
+0

これはコメントシステムです。 – si618

+0

ああ、私の謝罪、あなたはおそらくこれを行うのに十分な担当者を持っていない、申し訳ありません! – si618

関連する問題