【发布时间】:2019-04-12 15:39:12
【问题描述】:
我使用jq -r '.version' package.json 命令使用终端从 package.json 文件中过滤版本。
我们可以在 Jenkins shell 中使用jq 命令而不在本地安装它吗?
【问题讨论】:
标签: node.js json shell jenkins npm
我使用jq -r '.version' package.json 命令使用终端从 package.json 文件中过滤版本。
我们可以在 Jenkins shell 中使用jq 命令而不在本地安装它吗?
【问题讨论】:
标签: node.js json shell jenkins npm
不,在 shell 构建步骤中,您只能执行 shell 可用的命令,因此您必须在系统上安装 jq 并且它必须可供 jenkins 访问。
【讨论】:
jq来执行Jenkins Shell。
不使用“jq”,而是使用groovy.json.JsonSlurper 类来解析“jq”可以解析的相同输出。
如果 "jsonStr" 是一个具有合法 json 内容的字符串变量,这里是一个使用这个的例子:
def stuff = new JsonSlurper().parseText(jsonStr).stuff
这将获取 json 字符串中的“stuff”属性并将其分配给“stuff”变量。
【讨论】: