5

我正在 Windows 上设置 Jenkins 来处理我一直在从事的 Windows 项目的构建。到目前为止,我只是在本地构建。我有一个执行构建的批处理文件,最终会生成一些 msi 安装程序。

一些项目包含运行批处理文件的后期构建步骤。批处理文件的参数有时包含空格。当我从命令提示符运行构建批处理文件时,这不是问题。

但是,詹金斯似乎对此有疑问-我收到诸如

“找不到文件:C:\Program”

我很困惑为什么当 Jenkins 触发批处理时会发生错误,但当我手动运行它时不会发生错误 - 有什么想法吗?

4

2 回答 2

3

对于包含空格的参数,将它们用双引号括起来。例子:

错误:PROCESS_FILE.EXE C:\Program Files\This File.txt

正确:PROCESS_FILE.EXE "C:\Program FIles\This File.txt"

于 2012-08-10T14:29:49.123 回答
0

正如 Jason 提到的,您需要使用引号传递参数和路径。

此外,检查构建日志并查看您使用的是哪种类型的引号。根据传递的位置,您可能需要单引号或双引号,或某种转义字符。

如果您想查看 Jenkins 为您的外部命令或构建前/后事件运行的实际批处理文件,请检查构建日志并在编辑器中加载临时批处理文件以查看它的实际外观。有时这是调试构建所必需的。

于 2012-08-11T02:12:15.283 回答