运行 TeamCity 9 的一个构建步骤中有两个批处理文件

Running two batch files in one build step of TeamCity 9

我正在使用 TeamCity 9。我想 运行 在一个构建步骤中一个接一个地 运行 两个批处理文件。

如果我在构建步骤中写这个:

BATCH_1.bat <arg1> <arg2> 
BATCH_2.bat <arg1> <arg2>

只有 BATCH_1.bat 被执行...我改变了顺序,然后只有 BATCH_2.bat 被执行了。这意味着,只有构建步骤中的第一个批处理文件被执行,控制权移至下一个构建步骤。

当我分开构建步骤时,两个批处理文件都被执行了。但是当我一步带上它们时,只有一个执行。

有趣的是 ECHO 语句在 BATCH_1 之前执行,但不会在它之后执行。

是否有任何限制只能在一个构建步骤中执行一个批处理文件?

使用命令步骤时,TeamCity 的工作方式是将步骤中的所有命令放入单个 .cmd 文件中,并要求命令行解释器执行它。

所以这不是 TeamCity 的限制,而是命令行解释器的限制。

要让解释器 return 返回您的第一个批处理文件(TeamCity 生成的那个),您将必须 调用 其他批处理文件。

试试这个:

CALL BATCH_1.bat <arg1> <arg2> 
CALL BATCH_2.bat <arg1> <arg2>