在 Jenkinsfile 中插入变量



我现在正在寻求帮助,因为我一直在努力在需要一点变量插值的 Jenkinsfile 中调用一个简单的sed命令。

更好地显示命令而不是大解释:

sh "sed -i -e 's/-RELEASE/-${unixEpoch}/g' myFile"

sed不同意此语法,并打印命令s/未完成。

我已经阅读了有关字符串和GString的Groovy文档,但我仍然不明白我做错了什么?

有什么线索吗?

编辑:

我通过调用date +%s来获取unixEpoch以获取当前时间戳。

我打印了命令只是为了确定执行了什么,我发现:

sed -i -e 's/-RELEASE/-1525341883'
/g' myFile

sed发送的完整错误是:

sed: -e expression #1, char 22: unterminated 's' command

我觉得很奇怪,打印的命令中间有一个n......

date +%s末尾有一个换行符,当你把它插到你生成的sed时,它包含了那个换行符,这解释了sed抱怨的原因。您可以在使用unixEpoch值之前对其进行${unixEpoch.trim()}或修剪。

相关内容

  • 没有找到相关文章