TeamCity命令行运行器:设置和使用变量

bwa*_*ace 6 teamcity teamcity-8.0

在Windows代理上运行的TeamCity项目中,我想读取文件的内容,然后根据文件内容创建一个目录.

作为命令行构建步骤执行此操作似乎是合乎逻辑的.我已经尝试创建一个局部变量"VERSION"以及一个自定义的teamcity参数,但我无法工作.似乎windows cmd变量与TeamCity定义的env和系统变量没有很好的结合.我使用以下自定义脚本:

echo "Distributing"
set VERSION=< component_version.txt
echo %VERSION%
echo "Copying files to dir \path\to\dir\%VERSION%\"
mkdir \path\to\dir\%VERSION%\
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何建议?

psy*_*ych 19

您需要转义变量,%%因此不会将其视为TeamCity变量.

echo "Distributing"
set VERSION=< component_version.txt
echo %%VERSION%%
echo "Copying files to dir \path\to\dir\%%VERSION%%\"
mkdir \path\to\dir\%%VERSION%%\
Run Code Online (Sandbox Code Playgroud)

  • 双 %% 是我错过的。谢谢! (2认同)

blo*_*ish 0

尝试创建接受参数的 .bat 文件或 Powershell 文件,并执行上面概述的步骤。
然后将构建步骤切换为运行“带参数的可执行文件”,并将 %VERSION% 作为参数传递。