我有以下情况。使用powershell控制teamcity步骤
我在teamcity中有一个项目的5个构建步骤。只有当分支是主人时,我才需要执行第五步。如果分支不是主人,团队城市进程应该退出而不执行第5步。这是我可以通过PowerShell实现的吗?
我有以下情况。使用powershell控制teamcity步骤
我在teamcity中有一个项目的5个构建步骤。只有当分支是主人时,我才需要执行第五步。如果分支不是主人,团队城市进程应该退出而不执行第5步。这是我可以通过PowerShell实现的吗?
我认为这样做的唯一方法是有一个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
链接的答案包含具体取决于哪个版本使用的是更多的选择,所以我假设你可以找到如何无法停止构建。
但是如何在构建步骤不成功时实现它命令行。如果它是一个FTP部署者插件等,我们如何实现这一目标。 –
@NevinRajVictor你需要在你的FTP部署者插件之前添加一个**新的构建步骤**,它只是检查分支,然后失败。然后将您的FTP部署器设置为仅在上一步成功时才运行 –
只是想知道为什么我的问题是downvoted? –
从长远来看,这应该通过一个新的TeamCity功能来实现,该功能有条件地运行步骤。我相信它目前是[最受欢迎的TC功能请求](https://youtrack.jetbrains.com/issue/TW-17939)(您可能也想投票赞成)。这张票据说它是为TeamCity 9.1.x计划的,但我认为它并没有成为9.1.0中的任何一个。9.1.3所以它可能会滑落... – sferencik