我有一個構建,其中包含許多構建步驟,可以編譯,運行測試,並通過MSBuild腳本使用msdeploy打包應用程序。 當前,如果我的任何測試失敗,包仍然會生成,但是我希望生成要麼在故障點停止,要麼能夠將變量傳遞到MSBuild腳本中,該腳本是測試/編譯階段,並根據該變量的值創建包。 目前,我還沒有能夠找到包含這些信息的任何變量..在TeamCity中獲取構建步驟退出代碼
0
A
回答
1
如果爲真,當其中一個項目編譯失敗,沒有更多的項目 將建。
此外,限定build parameters和有條件地設置TeamCitySetStatus。
1
如果您在每個步驟都有單獨的步驟和單獨的構建腳本,那麼在teamcity中這很容易實現。但是,如果您使用一個腳本來完成每一件事(構建,測試,打包和部署)並且只有一個teamcity步驟來調用腳本,那麼它變得非常困難,因爲您將不得不添加大量的try和catch將無法處理不可捕捉的錯誤。我建議使用psake
。要使用psake
,您需要有2個腳本。第一個是由teamcity運行的。在第一個腳本中,您可以導入psake模塊並調用主要腳本,它爲您執行所有操作。如果第二個腳本在任何地方失敗,它會停止腳本(前提是您的代理擁有stoponfailure
PowerShell策略)。第二個腳本將停止並返回到第一個腳本。但第一個腳本不會將其視爲失敗,並會將構建視爲成功。爲了解決這個問題,你需要在第一個腳本中添加一段代碼。
Import-Module .\psake\psake.psm1
Invoke-Psake .\build-steps.ps1 @args
if($psake.build_success -eq $false){
write-host "There was an error running psake script"
exit 1
}
Remove-Module psake
相關問題
- 1. 如何在PowerShell構建步驟中獲取TeamCity工作目錄
- 2. TeamCity構建步驟 - MSBuild中的失敗
- 3. 爲什麼xcopy在Visual Studio後構建步驟中使用代碼9009退出?
- 4. 如何獲得在teamcity中執行構建步驟的狀態?
- 5. TeamCity - NuGet Pack構建步驟 - 無內容
- 6. TeamCity的通話網址構建步驟
- 7. 在特定的代理上運行TeamCity構建步驟
- 8. TeamCity中是否存在構建步驟,可以在不執行其他構建步驟的情況下成功退出構建?
- 9. 如果退出代碼不爲零,我如何讓teamcity命令行構建步驟通過?
- 10. TeamCity的構建「進程退出,代碼128」
- 11. 停止TeamCity構建進程退出時的代碼1
- 12. TeamCity同步構建步驟或等待一步完成
- 13. teamcity構建模板,包含可選的構建步驟參數
- 14. TeamCity是否支持構建執行其他TeamCity構建的步驟?
- 15. 下載nuget並在TeamCity構建步驟中執行
- 16. 在TeamCity構建中應用web.config轉換步驟
- 17. 在TeamCity構建步驟中使用git命令
- 18. 在TeamCity中恢復NuGet包構建和部署步驟
- 19. 在TeamCity構建步驟中驗證URL參數curl命令
- 20. 使用全局屬性或在TeamCity中構建步驟
- 21. 訪問Teamcity git在構建步驟中更改日誌
- 22. TeamCity:如何在構建步驟之間創建延遲
- 23. TeamCity,將在一個構建步驟中生成的標識傳遞給後續構建步驟
- 24. TeamCity中的meta-runner中的可選構建步驟
- 25. 在TeamCity中,如何在先前步驟中創建的項目上使用xcode構建步驟?
- 26. 如何使用CommandLine克隆teamcity中的回購構建步驟
- 27. 如何存檔TeamCity中的構建步驟?
- 28. 在構建失敗條件時需要跳過TeamCity步驟
- 29. 在TeamCity的構建步驟運行包管理器命令
- 30. Jenkins - 構建步驟
- 對不起,應該已經解釋了我的設立。我有一個sln runner編譯,MSTest Runner運行測試,並運行MSBuild進行打包。我所追求的是來自sln亞軍和/或mstest亞軍的輸出傳入msbuild亞軍 – 2012-02-16 14:30:40
現在很明顯。我已經更新了答案。希望能幫助到你。 – KMoraz 2012-02-16 14:57:05