Git 从Jenkins管道scrit中看不到环境变量

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' 请注意单引号,这样

在“管理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'
请注意单引号,这样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"