【发布时间】:2019-07-13 02:28:39
【问题描述】:
在我的Jenkinsfile 中,我定义了一个 groovy 变量,我想在下面的 shell 命令中使用该值:
ret 是来自命令 1 shell 执行的版本值为 7.0.1.0.284 的变量
command1 = """curl -s "https://abc/maven-metadata.xml" | grep "<version>.*</version>" | sort | uniq | sed -e "s#\\(.*\\)\\(<version>\\)\\(.*\\)\\(</version>\\)\\(.*\\)#\\3#g"| grep 7.0.1.0 | tail -n1"""
ret = sh(script: command1 , returnStdout: true)
command2 = "wget --quiet --no-check-certificate --no-proxy https://abc-nexus.com/nexus/content/repositories/item/\$ret/item-portal-rpm-\$ret-idp-portal.rpm -P /var/jenkins/workspace/abc/item/RPMBUILD/RPMS"
使用此命令输出:
wget --quiet --no-check-certificate --no-proxy https://abc-nexus.com/nexus/content/repositories/item//item-portal-rpm--idp-portal.rpm -P /var/jenkins/workspace/abc/item/RPMBUILD/RPMS
它是空白的,如果我这样使用它:
command2 = "wget --quiet --no-check-certificate --no-proxy https://abc-nexus.com/nexus/content/repositories/item/$ret/item-portal-rpm-$ret-idp-portal.rpm -P /var/jenkins/workspace/abc/item/RPMBUILD/RPMS"
输出是:
wget --quiet --no-check-certificate --no-proxy https://abc-nexus.com/nexus/content/repositories/item/7.0.1.0.284
+item-portal-rpm-7.0.1.0.284
进入下一行,不被视为单行执行。
【问题讨论】:
标签: groovy jenkins-pipeline jenkins-groovy