Git 从Jenkins管道scrit中看不到环境变量
在“管理Jenkins”->“配置系统”->“全局属性”中,我添加了:Git 从Jenkins管道scrit中看不到环境变量,git,jenkins,jenkins-pipeline,Git,Jenkins,Jenkins Pipeline,在“管理Jenkins”->“配置系统”->“全局属性”中,我添加了: Name: git Value: /path/to/my/git 以及: 但是,如果我从Jenkins管道尝试sh(“git状态”),我会得到: git:未找到命令 而如果我尝试使用完整路径sh(“/path/to/my/git status”),就会看到git 知道为什么在Jenkins管道脚本中声明为环境变量后,git没有出现吗?您必须在sh步骤中使用变量引用: sh '$git status' 请注意单引号,这样
Name: git
Value: /path/to/my/git
以及:
但是,如果我从Jenkins管道尝试sh(“git状态”)
,我会得到:
git:未找到命令
而如果我尝试使用完整路径sh(“/path/to/my/git status”)
,就会看到git
知道为什么在Jenkins管道脚本中声明为环境变量后,
git
没有出现吗?您必须在sh步骤中使用变量引用:
sh '$git status'
请注意单引号,这样groovy就不会将$
解释为变量引用(由sh决定)。如果使用双引号,则必须避开美元符号:
sh "\$git status"
或者,您可以直接在groovy中访问环境:
sh "${env.git} status"
有没有办法将
git
视为环境变量?有一个脚本直接调用git
,我无法修改它。我建议您修改PATH变量,并将您的PATH附加到PATH变量开头的git,例如/PATH/to/my/git:$PATH
。看看这个答案:
sh "${env.git} status"