【问题标题】:How to pause a TeamCity build from a build step of another build如何从另一个构建的构建步骤暂停 TeamCity 构建
【发布时间】:2019-02-20 19:37:43
【问题描述】:

在 TeamCity 中,我有 2 个具有不同触发器的相关构建。

在执行第一个构建时,我想暂停第二个构建。

所以我的想法是在构建 1 中有一个构建步骤来暂停构建 2。然后另一个构建步骤再次激活它。

这在 TeamCity 中可行吗?还是我应该使用不同的方法?

【问题讨论】:

  • 你为什么需要那个? build2 应该暂停 build1 吗?
  • 原因:Build 1是手动触发的,执行了DB迁移。 Build 2 在每次签入时触发,并使用 DB 执行测试。
  • 如果迁移正在进行中(作为预测试用例之一),您可能必须拒绝测试作业,并向测试作业添加额外的依赖触发器,因此它将在迁移后强制启动...
  • 我可以在 TeamCity 中进行这种预测试条件吗?
  • 以标准方式 - 不。我认为您可以安装 groovy 插件(例如)并编写脚本。

标签: build configuration teamcity


【解决方案1】:

我通过添加向 TeamCity API 发送 Web 请求的 PowerShell 构建步骤解决了这个问题。

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(($($Username):$($Password)")))
$headers = @{ Authorization = "Basic $base64AuthInfo" }

Invoke-RestMethod -Method Put -Uri "http://rzaplp4:8088/app/rest/buildTypes/$($BuildId)/paused" -Body "true" -ContentType "text/plain" -Headers $headers > $null

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 2014-09-13
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2013-09-22
    相关资源
    最近更新 更多