2009-07-10 8 views
0

私が知る限り、毎回プロジェクトごとに成果物と作業ディレクトリを指定する必要があります。私は、その後CruiseControl.Netのサイト全体に1つのartifactsDirectoryを指定する方法はありますか?

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 

    <!-- something like this should exist 
    <baseDirectory>D:\Integration</baseDirectory> 
    --> 

    <project name="MyProject1"> 
     <workingDirectory>D:\Integration\working\MyProject1</workingDirectory> 
     <artifactDirectory>D:\Integration\artifacts\MyProject1</artifactDirectory> 
     <state type="state" directory="D:\Integration\state\MyProject1" /> 
    </project> 

    <project name="MyProject2"> 
     <workingDirectory>D:\Integration\working\MyProject2</workingDirectory> 
     <artifactDirectory>D:\Integration\artifacts\MyProject2</artifactDirectory> 
     <state type="state" directory="D:\Integration\state\MyProject2" /> 
    </project> 

</cruisecontrol> 

は、私は私のような何かを行うことができるように私は、サーバーがから起動された場所以外にcc.netプロジェクト名のフォルダを移動する方法を探しています推測しますプロジェクトごとにこれらのディレクトリを個別に指定する必要はありません。 D:\ Integration \ working \のベースとなるデフォルトのフォルダ構造の下でプロジェクト名で作成されます。

答えて

2

これまで、プリプロセッサコマンドの使用について考えましたか?

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 

    <cb:define name="project.template"> 
     <project name="$(project.name)"> 
      <workingDirectory>D:\Integration\working\$(project.name)</workingDirectory> 
      <artifactDirectory>D:\Integration\artifacts\$(project.name)</artifactDirectory> 
      <state type="state" directory="D:\Integration\state\$(project.name)" /> 
     </project> 
    </cb:define> 

    <cb:project.template project.name="MyProject1" /> 

    <cb:project.template project.name="MyProject2" /> 

</cruisecontrol> 
+0

私はプリプロセッサを使っていますが、あなたが提案した方法ではありません。私のプロジェクトのほとんどは単一のテンプレートには適合しませんが、ネストされた拡張がどのように機能するかはまだ分かります。それでも、私はすべてのプロジェクト関連ディレクトリのための新しいベースディレクトリを宣言することができればと思っています。 –

1

OK、今すぐ表示されます。私は現在、それを行う方法があるとは思わないが、良い機能になるだろう。あなたはgoogleグループccnet-develに行き、そこに機能リクエストとしてメッセージを投稿する必要があります。私も、これを使うことができました。良いアイデア。

+0

混乱について申し訳ありませんが、私はエントリを編集してより明確にしました。 –

関連する問題