首页 > 解决方案 > Jenkins / Groovy - 字符串插值省略了 shell 命令的某些部分

问题描述

returnStdout由于使用不正确,我的詹金斯步骤失败了

def previous_commit = sh(returnStdout: true, script: "git rev-parse @~")
def dir_changed = sh(returnStdout: true, script: "git diff --quiet HEAD $previous_commit -- backend || echo changed")

在构建日志中,-- backend || echo changed缺少的部分,输出如下

git diff --quiet HEAD 5a7a6c3484b492ba010d03c0bb6558f2b8cd39c7

我预期要执行的命令是

git diff --quiet HEAD 5a7a6c3484b492ba010d03c0bb6558f2b8cd39c7 -- backend || echo changed

我对此很陌生,我想知道出了什么问题。

ps 任何人都可以向我指出一些一般解释这个主题的文章或指南吗?谢谢!

标签: jenkinsgroovy

解决方案


推荐阅读