2011-05-13 63 views
1

我在配置CC.Net時遇到問題。我的當前設置的項目如下所示(消毒,以擺脫保密的東西):即使沒有新源,CruiseControl.Net也會繼續生成

<project name="WebApp"> 
    <workingDirectory>c:\cc\WebApp\Code</workingDirectory> 
    <artifactDirectory>c:\cc\WebApp\Artifacts</artifactDirectory> 
    <webURL>http://example.com/ccnet</webURL> 
    <modificationDelaySeconds>10</modificationDelaySeconds> 
    <triggers> 
     <intervalTrigger seconds="30" name="continuous" /> 
    </triggers> 


<sourcecontrol type="multi"> 
<sourceControls autogetsource="true"> 
<svn> 
    <trunkUrl>svn+ssh://[email protected]/webapp/trunk</trunkUrl> 
    <executable>C:\Program Files\SlikSvn\bin\svn.exe</executable> 
    <username>build</username> 
    <password>********</password> 
    <revisionNumbers>true</revisionNumbers> 
</svn> 
<svn> 
    <trunkUrl>svn+ssh://[email protected]/dataservice/trunk</trunkUrl> 
    <executable>C:\Program Files\SlikSvn\bin\svn.exe</executable> 
    <username>build</username> 
    <password>********</password> 
    <revisionNumbers>true</revisionNumbers> 
    <workingDirectory>..\dataservice</workingDirectory> 
</svn> 
<svn> 
    <trunkUrl>svn+ssh://[email protected]/WCFProxyClasses/WCFProxyClasses/trunk</trunkUrl> 
    <executable>C:\Program Files\SlikSvn\bin\svn.exe</executable> 
    <username>build</username> 
    <password>********</password> 
    <revisionNumbers>true</revisionNumbers> 
    <workingDirectory>..\proxies\WCFProxyClasses</workingDirectory> 
</svn> 
</sourceControls> 
</sourcecontrol> 

    <tasks> 
     <msbuild> 
      <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
      <projectFile>WebApp/WebApp.msbuild</projectFile> 
      <targets>BeforeBuild;Build;AfterBuild</targets> 
      <timeout>300</timeout> 
      <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 
    </tasks> 

    <publishers> 
     <rss/> 
     <xmllogger /> 
     <statistics /> 
     <!-- Email build report to development and QA team --> 
     <email from="[email protected]" mailhost="mailhost" mailport="25" includeDetails="TRUE" mailhostUsername="" mailhostPassword="" useSSL="FALSE"> 
     <users>     
      <user name="Developer" group="devs" address="[email protected]"/> 
     </users> 
     <groups> 
      <group name="devs"/> 
     </groups> 
     <converters/> 
     <modifierNotificationTypes> 
      <NotificationType>Always</NotificationType> 
     </modifierNotificationTypes> 
     </email> 
     <modificationHistory onlyLogWhenChangesFound="true" /> 
    </publishers> 
</project> 

我們有多個源代碼控制目標,因爲Web應用程序項目是依賴於其他人。我不確定這是否是問題的原因(我正在接受)。我沒有CC.Net的經驗(沒有!),所以我不知道在哪裏尋找。我們在配置文件中有其他項目,但他們都沒有多個源控制目標,它們都按預期行事。

這個項目的問題是,無論源代碼管理的變化,它都會簡單地嘗試每30秒建立一次!據我所知,<revisionNumbers>標籤應該讓CC.Net在再次構建之前等待新的源代碼版本,然而它只是每隔30秒建立併發送電子郵件。

如果您需要更多信息,我會給它。我希望有人認識到這裏出了什麼問題,或者以前遇到過這個問題,可能會對我有一些建議。

謝謝!

編輯 -

如果有幫助,上面定義的項目構建失敗,每一次。這是由於項目中引用的某些第三方DLL在CC.Net服務器上不可用。失敗的構建是否會導致它每30秒「再試一次」?

+0

我不明白'autogetsource = 「真」''上'文檔中,你確定這是正確的嗎? '''應該默認只建立在 IfModificationExists'上,所以你的源代碼控件必須報告每次檢查的變化。 爲什麼在這裏使用多個源代碼管理塊而不是svn externals? – skolima 2011-05-13 07:26:43

回答

2

嘗試

  • 明確提到buildCondition="IfModificationExists"(儘管它應該是default)...
  • 在同一時間只留下一個源控制地發現,不斷觸發構建的罪魁禍首。
  • 檢查日誌(svn輸出)以查看正在更新的內容(如Pedro提供的)。

HTH

+0

一次嘗試單一源代碼管理,三者都自行運行。這似乎是多源控制的問題。我用項目觸發器改寫了配置文件。現在似乎都在工作。 – Anthony 2011-05-18 03:49:56

0

在項目的構建摘要上,它列出了哪些內容被修改了?對於svn,你應該看到一段描述了「自上次構建以來的修改」,接着是文件列表,簽入時間和簽入註釋。

是否有被檢查文件回SVN構建什麼

編輯(可能的AssemblyInfo.cs):

你提到你的更新,它是失敗的每個時間來建立。在此之前,我懷疑你會得到這樣的重試。爲什麼它不斷重試,但是,我不完全確定。您的腳本和我們使用的腳本之間的一個區別是,我們不使用svn項目的「revisionNumbers」標記(儘管我不確定這是否是問題。)

您還提到它自從發現了534個修改最後的構建。這個數字是否會增加每個新版本?如果這個數字在增加,你可能會有其他的檢查一個或多個文件到存儲庫中,這會導致另一個構建啓動。

+0

最新的構建日誌說「集成請求:\t構建(IfModificationExists)從連續觸發」。 「自上次構建以來的修改(534)」 – Anthony 2011-05-15 23:31:35

相關問題