【问题标题】:Pin a build as a build step in TeamCity在 TeamCity 中将构建固定为构建步骤
【发布时间】:2017-01-30 21:40:14
【问题描述】:

是否可以将构建固定为 TeamCity 中的自定义构建步骤? 我有使用 rest api 来固定构建的自定义脚本,问题是:我想使用这个脚本作为当前构建的构建步骤。例如,如果构建具有某些参数,我想固定它。其余的 api(据我所知)只会让我在收到错误时固定已经完成的构建:

400 Responding with error, status code: 400 (Bad Request).
Details: jetbrains.buildServer.server.rest.errors.BadRequestException: Cannot pin build that is not finished.
Invalid request. Please check the request URL and data are correct.

有没有办法解决这个问题?

【问题讨论】:

  • 这是什么意思:运行构建的构建步骤之一是在某个参数等于某值时标记/固定构建?
  • @antonbormotov 是的,我想在某个参数等于某个参数时固定构建,但显然您不能固定未完成的构建。

标签: teamcity build-automation


【解决方案1】:

如果分支名称是develop,我们在运行时使用这个plugin 和简单的shell 脚本来构建tag:

#!/bin/sh
echo "%teamcity.build.vcs.branch.<VCS_ROOT_ID>%" | grep -q "develop"
if [ $? -eq 0 ]
then
    echo "##teamcity[addBuildTag 'taged_build']"
fi

此插件基于Build Script Interaction with TeamCity。
我可能是错的,但是将 build pin 处理程序添加到这个插件看起来并不难。
能满足你的要求吗?

或者,您可以创建额外的构建配置,其中仅包含一个步骤(api 调用 pin build)并在主构建配置中触发该构建。

【讨论】:

  • 感谢您提出创建额外构建配置并触发该构建的想法。
猜你喜欢
  • 2014-09-13
  • 1970-01-01
  • 2012-12-28
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
  • 2015-04-19
相关资源
最近更新 更多