【问题标题】:controlling teamcity steps using powershell使用 powershell 控制 teamcity 步骤
【发布时间】:2015-09-28 00:43:21
【问题描述】:

我有以下场景。

我在 teamcity 中有一个项目的 5 个构建步骤。我希望仅当分支是主分支时才执行第 5 步。如果分支不是主分支,则团队城市进程应退出而不执行第 5 步。是不是我可以通过powershell实现的?

【问题讨论】:

  • 只是想知道为什么我的问题被否决了吗?
  • 从长远来看,这应该可以通过新的 TeamCity 功能实现,即有条件地运行步骤。我相信它目前是most popular TC feature request(你可能也想投票)。票说它计划用于 TeamCity 9.1.x,但我认为它没有进入 9.1.0 .. 9.1.3 中的任何一个,所以它可能会滑落......

标签: powershell teamcity


【解决方案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

链接的答案包含更多选项,具体取决于您使用的版本,因此我假设您可以准确找到如何在此处停止构建失败。

【讨论】:

  • 但是当构建步骤不是命令行时我怎么能实现它。如果它是一个 FTP 部署插件等我们怎么能实现呢?
  • @NevinRajVictor 你需要在你的 FTP 部署插件之前添加一个 新的构建步骤,它只是检查分支然后失败。然后将您的 FTP 部署程序设置为仅在上一步成功时运行
猜你喜欢
  • 2012-12-28
  • 2014-09-13
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多