将构建固定为 TeamCity 中的构建步骤

Pin a build as a build step in TeamCity

是否可以在 TeamCity 中将构建固定为自定义构建步骤? 我有使用其余 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.

有办法解决这个问题吗?

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

#!/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
我可能是错的,但是向这个插件添加构建 pin 处理程序看起来并不难。
它能满足你的要求吗?

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