Jenkins 无法确定withEnv在文件中执行的操作
我刚开始写这个文件。我正在查看以下两个URL,以了解如何构建Java应用程序,将其推送到Nexus,然后调用Ansible进行部署 在第二个链接中,多次提到以下内容,我无法理解其功能:Jenkins 无法确定withEnv在文件中执行的操作,jenkins,jenkins-pipeline,jenkins-plugins,jenkins-groovy,Jenkins,Jenkins Pipeline,Jenkins Plugins,Jenkins Groovy,我刚开始写这个文件。我正在查看以下两个URL,以了解如何构建Java应用程序,将其推送到Nexus,然后调用Ansible进行部署 在第二个链接中,多次提到以下内容,我无法理解其功能: withEnv(["PATH+MAVEN=${tool 'm3'}/bin"]) 我从网络上可以发现,withEnv用于创建/覆盖环境变量。但是${tool'm3'}/bin在做什么?通常,withEnv的语法是VARIABLE\u NAME=value/expression,${}将命令/变量替换到GSt
withEnv(["PATH+MAVEN=${tool 'm3'}/bin"])
我从网络上可以发现,
withEnv
用于创建/覆盖环境变量。但是${tool'm3'}/bin
在做什么?通常,withEnv
的语法是VARIABLE\u NAME=value/expression
,${}
将命令/变量替换到GString中。请参见groovy文档中的字符串插值
从外观上看,可以安全地假设工具“m3”
正在返回安装路径,然后附加/bin
所以最终的结果是
PATH+MAVEN=/my/PATH/to/m3/etc/bin
除了@metalisticpain的回答之外,Jenkins服务器本身的一些后台配置配置配置了要使用的安装路径
假设您在Jenkins服务器上安装了jdk-1.8.0
作为工具名,那么它可以在Jenkins文件中使用,例如在您的示例中:
withEnv(["PATH+JDK=${tool 'jdk-1.8.0'}/bin"])
摘自上面链接的文档:
必须在管理Jenkins下的Jenkins中预先配置工具名称→ 全局工具→ 配置