2009-11-10 29 views
2

我們在Win 2003 SP2上使用CCNET 1.4.4.83。幾天前,CCNET開始報告構建失敗,沒有具體原因。該項目包含一個運行build.bat的單一exec任務。該批處理完成所有工作(msbuild,fxcop,db腳本,測試),但在服務器日誌中,我可以看到並非所有命令都從build.bat執行。它看起來像殺死中間進程的東西,但我相信這不是超時問題。我試圖禁用反病毒軟件 - 沒有運氣。該服務在本地管理員帳戶下運行。如果我在CCNET機器上手動運行build.bat,它總是成功。CCNET報告無故建立故障

這裏是日誌片段:

2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat]  60 Warning(s) 
2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat]  0 Error(s) 
2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat] 
2009-11-10 11:26:48,584 [288:DEBUG] [trunk C:\integration\trunk\src\build.bat] Time Elapsed 00:00:23.73 
2009-11-10 11:26:48,724 [trunk:INFO] Task execution failed 
2009-11-10 11:26:48,724 [trunk:INFO] Task output: 
<buildresults> 
-- the batch output here-- 
</buildresults> 

2009-11-10 11:26:48,803 [trunk:INFO] Merging file: c:\integration\trunk\Artifacts\Tests1.xml 
2009-11-10 11:26:48,803 [trunk:INFO] Merging file: c:\integration\trunk\Artifacts\FxCop.xml 
2009-11-10 11:26:48,803 [trunk:WARN] File not Found: c:\integration\trunk\Artifacts\FxCop.xml 
2009-11-10 11:26:49,428 [trunk:INFO] Emailing "trunk Build Failed" to .... 
2009-11-10 11:26:55,506 [trunk:INFO] Integration complete: Failure - 10/11/2009 11:26:48 

任何想法哪裏看,將不勝感激!

回答

3

當整個構建過程通過像這樣的單個CCNET任務完成時,很難找到這樣的問題。 這可能不是一種選擇,但我會建議將構建過程從單個.bat文件中分離出來,並創建單獨的CCNET任務 - 這會讓事情開始行爲異常時更容易看到發生了什麼。

例如對於獨立的任務:

  • 的MSBuild
  • 的FxCop
  • dbscripts
  • 測試

如果問題是測試中的某處,這將很快成爲明顯的測試任務將失敗,但其他3個將會成功。

除此之外,我建議試圖登錄調試/沿途進度信息了 - 試圖找到它實際上是失敗的點,並從那裏

+0

好主意,我會嘗試它,如果找不到另一種解決方案。前段時間我發現shell腳本比調整ccnet config更容易。日誌被設置爲DEBUG,但對我來說沒有任何用處。 – UserControl

+1

我知道你的意思,但是一旦你習慣了調整ccnet配置,這也不算太壞。我發現較小的CCNET任務的粒度非常值得。 – AdaTheDev

+0

花了幾乎整整一天,最終以您的解決方案:( – UserControl

2

嘗試運行CCNET的控制檯版本啓用DEBUG日誌記錄。

  • 如果這也成功,那麼你的構建腳本中有一些服務是不允許的。
  • 如果不是那麼它應該至少使問題更容易診斷。
+0

感謝您的想法!嘗試它和控制檯版本生成項目很好,但我無法想象從服務的角度來看什麼是非法的。批處理命令有:msbuild.exe,svn.exe,nunit-console.exe,fxcopcmd.exe以及其他批處理的一些調用(試圖評論它們以本地化問題 - 儘管沒有運氣)。在問題發生前一週內向批處理做出了決定。 – UserControl