我在使用jenkins环境变量时遇到问题。我正在编写一个批处理文件,可以在运行构建时调用该文件,该文件将文件写入构建目录,其中包含有关文件生成方式的信息。 (分支,日期时间,git修订等)
批处理文件只通过命令行参数接收一些jenkins环境变量,并将它们写入文本文件。这是我在构建期间通过Execute Shell步骤进行的批量调用:
c:\\temp\\~BuildStamper.bat "$GIT_COMMIT", "$BUILD_URL", "$JOB_NAME", "$BUILD_ID", "$WORKSPACE", "$GIT_BRANCH", "$BUILD_USER"
我注意到对于包含空格的参数,在引用的分隔符内附加了一个额外的逗号。生成的文本文件中的示例行:
工作名称:“离境委员会建立和发布”,
我知道我在批处理文件中执行的处理不是问题,因为我可以看到Jenkins生成的作业日志中传递给批处理文件的值,并且值中存在逗号当它们传递给我的批处理文件时。
看起来Jenkins在遇到带空白字符串的字符串时错误地分割了一个逗号分隔的字符串,但是我无法在网上找到关于这种性质的Jenkins问题的任何内容。
其他人见过这个?难道我做错了什么?我尝试将变量传递给Jenkins sans引号,但随后批处理文件开始将每个单词作为单独的参数读取。
答案 0 :(得分:0)
KeepCalmAndCarryOn钉了它,逗号完全无关。