2015-09-28 66 views
2

我有以下情況。使用powershell控制teamcity步驟

我在teamcity中有一個項目的5個構建步驟。只有當分支是主人時,我才需要執行第五步。如果分支不是主人,團隊城市進程應該退出而不執行第5步。這是我可以通過PowerShell實現的嗎?

+0

只是想知道爲什麼我的問題是downvoted? –

+0

從長遠來看,這應該通過一個新的TeamCity功能來實現,該功能有條件地運行步驟。我相信它目前是[最受歡迎的TC功能請求](https://youtrack.jetbrains.com/issue/TW-17939)(您可能也想投票贊成)。這張票據說它是爲TeamCity 9.1.x計劃的,但我認爲它並沒有成爲9.1.0中的任何一個。9.1.3所以它可能會滑落... – sferencik

回答

1

我認爲這樣做的唯一方法是有一個PowerShell步驟作爲步驟5,它只是簡單地檢查當前分支(%teamcity.build.branch%)和錯誤,如果它不是主人,那麼你想要運行的步驟是當前步驟5作爲第6步。

團隊城市doesn't always like to fail if the powershell steps fail,特別是在當前版本之前的版本中。

爲了解決這個問題,我們使用的源腳本,但它假定您要運行腳本源代碼控制:

& "%teamcity.build.checkoutDir%\Path\To\PowershellScript.ps1" "%teamcity.build.checkoutDir%" 
Write-Host "The result was of the previous script was " $LASTEXITCODE 
Exit $LASTEXITCODE 

鏈接的答案包含具體取決於哪個版本使用的是更多的選擇,所以我假設你可以找到如何無法停止構建。

+0

但是如何在構建步驟不成功時實現它命令行。如果它是一個FTP部署者插件等,我們如何實現這一目標。 –

+1

@NevinRajVictor你需要在你的FTP部署者插件之前添加一個**新的構建步驟**,它只是檢查分支,然後失敗。然後將您的FTP部署器設置爲僅在上一步成功時才運行 –

相關問題