我是CruiseControl.Net的新手,但已花費了幾天時間設置了CCNet 1.5服務器,並且它是幾乎可以工作但存在問題我正在努力去理解。CCNet 1.5與TFS 2010 - 解決方案文件從未從源代碼管理檢出
我們使用Team Foundation Server 2010進行源代碼控制,因此我配置了ccnet.config文件以連接到它。每當我試圖強制建立它與下面的錯誤結束:
error MSB1009: Project file does not exist.
Switch: app.sln
當我看到在文件系統上的工作目錄,我可以看到,所有項目的文件已經從源頭控制抓起開來自解決方案(.sln)文件。我已經嘗試過幾個不同的項目,每次都得到相同的結果。我已經嘗試在服務器上搜索app.sln文件,但它不在服務器上,所以出於某種原因它不會從源代碼管理中抓取。所有其他文件似乎都很好,包括項目(.csproj)文件。
如果我使用Visual Studio 2010在同一臺服務器上籤出解決方案,那麼它可以正常工作,並且可以獲得包括.sln文件在內的所有文件。因此,與CCNet相關的東西似乎是在構建的get source部分期間過濾sln文件。
這裏是我的ccnet.config文件的XML的例子:
<cruisecontrol xmlns:cb = "urn:ccnet.config.builder">
<project name = "projectone">
<sourcecontrol type = "filtered">
<sourceControlProvider type = "vsts" autoGetSource = "true" applyLabel = "true">
<server>http://servername:8080/tfs/collectionname</server>
<username>user</username>
<password>password</password>
<domain>DOMAIN</domain>
<project>$/projectname/appname</project>
<workingDirectory>C:\projects\appname</workingDirectory>
<workspace>[SERVER_NAME]</workspace>
<deleteWorkspace>false</deleteWorkspace>
</sourceControlProvider>
<exclusionFilters>
<userFilter>
<names>
<name>admin</name>
</names>
</userFilter>
</exclusionFilters>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>C:\projects\appname</workingDirectory>
<projectFile>app.sln</projectFile>
<buildArgs>/p:Configuration=Debug /v:diag</buildArgs>
<targets>Build</targets>
<timeout>900</timeout>
<logger>c:\Program Files\CruiseControl.NET\server\Rodemeyer.MsBuildToCCNet.dll</logger>
</msbuild>
</tasks>
<publishers>
<xmllogger/>
<statistics/>
<modificationHistory onlyLogWhenChangesFound = "true"/>
</publishers>
</project>
</cruisecontrol>
TFS2010和CCNET 1.5在同一臺服務器上並使用域管理員帳戶均爲時間,所以安全不應該這裏真的不是問題。
任何建議將受到感謝。
感謝拉米A,我已經升級到1.6,但不幸的是它仍然有與sln文件相同的問題。 – Mark 2012-01-17 10:29:40
如果使用Windows服務,請在ccservice.exe.config的log4net部分中啓用日誌記錄。調用構建並查看日誌文件以獲取更多詳細信息。 – 2012-01-18 04:46:32
您也可以嘗試將deleteWorkspace設置爲true以查看是否有任何區別。 – 2012-01-18 04:49:39