2011-01-19 46 views
2

我們一直在與我們的項目的持續集成有關的問題。偶爾,我們想要在TeamCity的checkout目錄中清除所有構建的文件。每當我們試圖這樣做,nunit-agent.exe結束了剩餘的開放時間從以前的構建,產生以下錯誤:由於NUnit鎖定文件,TeamCity構建失敗?

[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\UnitTestResults.xml 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit-console-runner.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.core.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.core.interfaces.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.util.dll 
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\nunit-agent.exe 

我們總是要問別人誰有權訪問框中的構建開始之前,需要手動殺死進程再次工作。 NUnit有什麼理由必須無限期地開放(我們可以等待24小時,它仍然會掛起)?在我們的構建腳本中是否需要使用一些命令來迫使它終止,或者告訴TeamCity,如果程序掛起以強制關閉它?

+0

你是如何運行NUnit的 - 你自己從腳本運行它,或者使用在生成步驟TeamCity的NUnit的亞軍使用? – adrianbanks 2011-01-21 00:12:22

+0

從包含在存儲庫本身的exe中自己運行它(nunit-console.exe)。 – Scott 2011-01-21 01:12:40

+1

監視生成執行時正在構建代理上運行的進程。當它完成運行測試時,您可能不會終止nunit-console.exe,並在構建完成後留下拖延的進程。 – adrianbanks 2011-01-21 11:17:25

回答

0

您是否厭倦了設置「如果運行比x更安靜的失敗構建」設置?

http://confluence.jetbrains.net/display/TCD5/1.General+Settings

選中此選項,並在 分鐘輸入一個值,以使在 生成時間控制。如果超過了指定的時間量 ,則構建爲 會自動取消。此選項 有助於處理掛起 並保持代理效率的構建。

0

對我而言沒有驚人的洞察力,只有明顯的:

  1. 更新到最新版本通常有助於。
  2. 失敗的「完整構建(開發分支)」是唯一使用「代理側結算」的配置嗎?我看到的其他人都使用「服務器端結賬」。我不是專家,但你確定你需要它嗎?
0

我也有這個問題。我升級到2.6.012035,它現在爲我工作。

0

使用Swabra插件,盧克 它默認包含

相關問題