1

初めて統合サーバーを作成しています。cruisecontrol 構成ファイルに 2 つのプロジェクトがありますが、最初の 1 つだけが実行されているようです。私の設定ファイルを以下に貼り付けます。

<cruisecontrol>

    <project name="cc-config">
        <triggers>
            <intervalTrigger seconds="60" />
        </triggers>
        <sourcecontrol type="svn">
            <trunkUrl></trunkUrl>
            <workingDirectory>C:\Program Files (x86)\CruiseControl.NET\server\config</workingDirectory>
        </sourcecontrol>
    </project>

    <project name="stable_trunk">
        <workingDirectoy>C:\working</workingDirectory>
        <artifactDirectory>C:\artifact</artifactDirectory>
        <triggers>
            <intervalTrigger name="continuous" seconds="60"/>
        </triggers>
        <sourcecontrol type="svn">
            <trunkUrl></trunkUrl>
            <workingDirectory>C:\projects\security\trunk</workingDirectory>
        </sourcecontrol>
        <tasks>
            <nant>
                <executable>C:\projects\security\trunk\tools\nant-0.86-nightly-2008-08-18\bin\nant.exe</executable>
                <buildFile>C:\projects\security\trunk\security.build</buildFile>
            </nant>
        </tasks>
        <externalLinks>
            <externalLink name="proj" url="projURL">
        </externalLinks>
    </project>

</cruisecontrol>

誰でも私を助けることができますか?ありがとうカーター

追加情報:

  • ログ ファイルにはエラーがなく、2 番目のプロジェクトについての言及もありません
  • Web インターフェイスには最初のプロジェクトのみが表示されます

まるで 2 番目のプロジェクトが存在しないかのようです。

問題は入力ミスで、ログ ファイルにエラーが記録されていませんでした。WorkingDirectory タグに最後の「r」がありませんでした。

4

3 に答える 3

2
  1. CCNet ビルド ログに異常がないか確認しましたか? (編集回答: はい、ありませんでした。 )

  2. CCNet Web サーバーにログインすると、2 番目のプロジェクトが有効なプロジェクトとして表示されますか? (編集回答:いいえ、そうではありません。

  3. もしそうなら、あなたはそれに力を加えることができますか?(編集回答: いいえ、表示されないためです。 )

これらの回答があるため、次の提案は、(サービスではなく) コマンド ラインから cc サーバーを起動して、メッセージが表示されるかどうかを確認することです。

通常、CCNet 構成ファイルにエラーがあると、サーバーがクラッシュし (非常に困難)、常に問題があることを知らせてくれるため、これは驚くべきことです。表示されていないプロジェクトを追加したり、サーバーをクラッシュさせたりする可能性があることに本当に驚いています。

あなたが試みるかもしれないことは、単純なルートに行き、3番目の空のプロジェクトを追加して、 /that/ がリストに表示されるかどうかを確認することです. また、クラッシュすることがわかっている意図的なタイプミスを挿入してみて、それが表示されるかどうかを確認することもできます。私の懸念は、間違った構成ファイルを編集している可能性があるか、何らかの形で CCNet が実際に変更を認識していないことです (ソース管理の同期の問題?)。

于 2008-10-31T20:40:33.980 に答える
0

あなたはこれの底に到達しましたか?

そうでない場合は、ログファイル(?:\ Program Files \ CruiseControl.NET \ server \ ccnet.log)を確認してください。

この段階では、サービスではなくコンソールアプリ(ccnet.ext)を使用することをお勧めします。何が起こっているかを少し簡単に確認できます。また、コンソールを起動する前に、ccnet.exe.configファイルを開き、log4netタグを見つけて、そのルート内でレベルvalue = "DEBUG"を設定することにより、コンソールがDEBUGログに設定されていることを確認してください。

コンソールを起動して数分間実行してから停止し、ログを確認します(それでも問題が解決しない場合は、ここに投稿してください)。

お役に立てれば。

于 2008-11-03T15:21:38.553 に答える
0

間隔トリガーには、 IfModificationExistsのデフォルトのbuildConditionがあります。これは、ソース管理ブロック内で変更が検出された場合にのみビルドが開始されることを意味します。

buildCondition 属性に関する ccnet のドキュメントから

統合を開始するために使用する必要がある条件。デフォルトでは、この値は IfModificationExists であり、変更が検出された場合にのみ統合がトリガーされることを意味します。新しい変更が検出されたかどうかに関係なく、ビルドを起動する必要があることを確認するには、この属性を ForceBuild に設定します。ソース管理ブロックを使用して、変更を監視する対象を指定します。

したがって、ソース管理で変更が行われたかどうかに関係なく、常にビルドを開始したい場合は、buildCondition属性にForceBuildを指定する必要があります。例えば:

<triggers>
    <intervalTrigger name="continuous" buildCondition="ForceBuild" seconds="60"/>
</triggers>
于 2008-10-31T23:26:32.570 に答える