1
我們有一個非常大的遺留系統,它使用複雜的批處理文件構建。我們的CruiseControl.NET服務器只需調用批處理文件並檢查返回代碼,該代碼可以正常工作並生成成功的構建。CruiseControl.NET檢查成功消息的輸出
但是,有時候批處理文件在成功構建後似乎沒有正常返回,而CruiseControl.NET只是簡單地超時並報告構建失敗。
有沒有什麼辦法可以讓CruiseControl.NET檢查批處理文件中輸出的字符串是否成功生成,並正確報告生成狀態?
(當我得到一個備用兩天我想重寫使用南特什麼的構建腳本,但它沒有,因爲它太複雜給予了高度重視,以及它目前的工作)
編輯:這是ccnet.config中的條目
<project name="MyProject" queue="Q1" queuePriority="1">
<workingDirectory>D:\MyProject</workingDirectory>
<triggers />
<tasks>
<exec>
<executable>buildexe.bat</executable>
<baseDirectory>D:\MyProject</baseDirectory>
<buildArgs>V12.8 MyProject</buildArgs>
<buildTimeoutSeconds>6000</buildTimeoutSeconds>
<successExitCodes>0</successExitCodes>
</exec>
</tasks>
<publishers>
<xmllogger logDir="D:\MyProject\logs\V12.8" />
</publishers>
</project>
是,我有' 0 successExitCodes>'和批處理文件應如果成功或1+失敗的返回代碼設置爲0。看起來有時它只是永遠不會結束,儘管批處理文件到達日誌的末尾,並且如果您手動運行它,似乎總是完成。 –
2010-11-02 12:54:03
Arf。您可以使用xmllogger找到您的構建批處理的最後執行的任務嗎? – 2010-11-02 13:33:33
記錄器似乎包含批處理文件的所有輸出 - 一直到它成功返回的位置,如果您是從控制檯運行的話。 – 2010-11-02 14:37:18