0

CruiseControlで楽しんでゲームを楽しんでください。

WindowsXPマシンにCruiseControlのローカルインストールにJavaプロジェクトをリギングしました。

config.xmlファイルは毎分実行され、antスクリプトからプロジェクトをビルドします。

ダッシュボードの[変更]タブでトランクへの変更を検出したにもかかわらず、作業コピーで影響を受けるファイルの日付とタイムスタンプを確認すると、これらが変更されていないことがわかります。

build.xmlが実行されるのはこのローカルコピーであるため、CruiseControlが変更を検出するようにconfig.xmlが正しく構成されているのに、トランクと同期されている作業コピーに対してAntスクリプトが実行されていないことが心配です。 。

私は自分の設定ファイルを投稿します。誰かが自分には明らかなことを見つけてくれることを期待していますが、私にはわかりません。

構成xml:

<?xml version="1.0"?>
<cruisecontrol>

    <dashboard url="http://localhost:8080/dashboard" postinterval="1" />

    <project name="myProject" requireModification="false">
        <listeners>
                <currentbuildstatuslistener file="logs/myProject/status.txt"/>
            </listeners>

            <bootstrappers>
            <svnbootstrapper file="build.xml" 
            username="cruise_control" password="password" 
                localWorkingCopy="projects\myProject" />
        </bootstrappers>

        <modificationset>
            <svn repositoryLocation="https://path/to/myTrunk" 
                localWorkingCopy="projects/myProject"
                 username="cruise_control" password="password">
                </svn>
            </modificationset>

            <schedule interval="60" >
            <ant buildfile="build.xml" anthome="C:\Program Files\apache-ant-1.8.2" antWorkingDir="projects/myProject/" />
            </schedule>

        <log>
                <merge dir="C:\Program Files\CruiseControl\projects\myProject\reports\junit" pattern="TEST*.xml" />
        </log> 

        <publishers>
            <artifactspublisher dir="C:\Program Files\CruiseControl\projects\myProject\dist"
                dest="C:\Program Files\CruiseControl\artifacts\myProject"
                moveInsteadOfCopy="true"  />
        </publishers>   
    </project>
</cruisecontrol>

ダッシュボード構成ファイル:

 <dashboard>
    <buildloop
        logsdir="C:/Program Files/CruiseControl/logs/"
        artifactsdir="C:/Program Files/CruiseControl/artifacts/" />
    <features allowforcebuild="true" />
    <trackingtool projectname="" baseurl="" keywords=""/>
    <subtabs>
        <subtab class="net.sourceforge.cruisecontrol.dashboard.widgets.ErrorsAndWarningsMessagesWidget" />
    </subtabs>
</dashboard>

前もって感謝します。

4

3 に答える 3

2

Benが上で指摘したのと同じように設定しました。しかし、私は2つの問題に遭遇しました。

  1. 「初めて」ローカルの作業コピーがない場合、SVNBootsTrapper はローカルの作業ディレクトリを更新しません。コマンドラインまたはantスクリプトを介して明示的な「svn checkout」を実行するか、コードをこのローカル作業ディレクトリに手動で移動する必要があります。その後、「SVN Boots Trapper」はローカルの作業ディレクトリ/コピーをリポジトリの変更で更新できます。これは SVNBoots トラッパーの仕組みですか、それともローカルの作業コピーの作成に対して初めてリポジトリを作成するために採用したアプローチですか?

2.私は持っていた

<bootstrappers>
    <svnbootstrapper file="build.xml" localWorkingCopy="projects\myProject" />
</bootstrappers>

uid/pwd フィールドはありません。2.8.4 バージョンより前の私の古い Cruisecontrol では、問題なく動作します。しかし、ここでは失敗し、私に尋ねます:

ProjectController - 'myProject' コントローラー: ビルド進行状況イベント: SVNBootstrapper のブートストラップ - svn: パスワードを取得できません

そして、それは失敗します。このパスワードの問題を回避する唯一の方法は次のとおりです。

a. 属性のユーザー名とパスワードを追加します (Ben が上記のように) または

b. cmd line svn update コマンドを実行し、プロンプトが表示されたら uid/pwd を入力します。次に、パスワードを「暗号化されていない」状態で保存するには、「はい」と答えます。2 番目の問題に対して (a) と (b) の両方のアプローチを使用する方法はありますか?

于 2011-09-21T16:04:29.940 に答える
0

IIRCCruisecontrolはリポジトリへの変更を検出しますが、作業コピーを自動的に更新しません。したがって、1つの可能性は、ビルドスクリプトに、リポジトリ内の変更で作業コピーを更新するためのコードがないことです(つまり、を実行しますsvn update)。

于 2011-01-13T09:37:49.680 に答える
0

問題が見つかりました。

私のブートストラップは次のとおりです。

<svnbootstrapper file="build.xml" 
            username="cruise_control" password="password" 
                localWorkingCopy="projects\myProject" />

「file」プロパティを使用すると、svnbootsraper は指定されたファイルのみを監視します。

このプロパティが削除されると、ブートストラップは作業コピー全体を監視します。

<svnbootstrapper username="cruise_control" password="password" 
                localWorkingCopy="projects\myProject" />

modifiedset 属性が SVN 更新を実行すると仮定するのはよくある間違いのようです。実際、リビジョン番号の増分のみをリッスンします。SVN 更新を実行する svnbootstrapper です。

これが誰かを助けることを願っています!

于 2011-01-13T16:02:08.433 に答える