替换 TeamCity 构建脚本/命令中的字符

sou*_*rar 2 teamcity teamcity-9.1

我创建了一个构建作业,允许传入分支名称作为构建参数,然后运行构建以生成输出,并将生成的工件复制到构建服务器上的另一个目录,原始工件名称以分支名称为后缀。

但是,当我传入包含斜杠的分支名称(例如feature/someFeature)时,这会导致问题,因为%env.Branch%会按原样替换,并使cp命令认为它是一个目录。

是否有某种方法可以解析 TeamCity 中的此分支名称(或任何 env/system/build 参数)变量并对其进行一些处理,例如运行 atr '/' '-'以便将斜杠替换为连字符?

TIA

dec*_*eze 6

您可以创建一个自定义的第一个构建步骤,通过任何可用的运行程序清理参数,例如使用带有自定义脚本的命令行运行程序,例如:

echo "##teamcity[setParameter name='env.BRANCH' value='$(echo "%teamcity.build.branch%" | sed 's|/|-|g')']";
Run Code Online (Sandbox Code Playgroud)

这使用服务消息来设置新的环境参数,其中包含通过简单的 shell 替换处理BRANCH的值。它可以在后续构建步骤中使用。%teamcity.build.branch%sed%env.BRANCH%