Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$PWD和$WORKSPACE在Jenkins中是不同的_Jenkins_Environment Variables_Jenkins Cli - Fatal编程技术网

$PWD和$WORKSPACE在Jenkins中是不同的

$PWD和$WORKSPACE在Jenkins中是不同的,jenkins,environment-variables,jenkins-cli,Jenkins,Environment Variables,Jenkins Cli,我的作业有一个构建步骤build-executeshell,我只在其中输入了以下两个命令: echo $WORKSPACE echo $PWD 结果让我很困惑: + echo /home/jenkins/workspace/tradefed/test_deployment /home/jenkins/workspace/tradefed/test_deployment + echo /media/d/workspace/tradefed/test_deployment /media/d/wor

我的作业有一个构建步骤build-executeshell,我只在其中输入了以下两个命令:

echo $WORKSPACE
echo $PWD
结果让我很困惑:

+ echo /home/jenkins/workspace/tradefed/test_deployment
/home/jenkins/workspace/tradefed/test_deployment
+ echo /media/d/workspace/tradefed/test_deployment
/media/d/workspace/tradefed/test_deployment
为什么
$WORKSPACE
$PWD
的值不同

2018年3月2019日更新:

正如@PavelAnikhouski所提到的,
$WORKSPACE
是相对于您的
$JENKINS_HOME
设置的,
$PWD
是操作系统环境变量,指文件系统中的当前工作目录,因此它们不应相同


但我仍然对
$WORKSPACE
感到困惑,为什么Jenkins有
$WORKSPACE
,但在另一个工作目录中执行shell?

为什么它们应该是相同的?一个变量是“作为工作区分配给构建的目录的绝对路径”,第二个变量是您的Linux操作系统工作目录您介意解释更多细节吗?
构建的工作区
我的Linux工作目录
之间有什么区别?您可以看到Jenkins env变量列表,它们由Jenkins服务本身管理$WORKSPACE是相对于$JENKINS_HOME(安装JENKINS的位置)设置的,$PWD是OS环境变量,指文件系统中的当前工作目录。我不认为这些价值观是正确的same@PavelAnikhouski我明白了,谢谢。但我仍然对
$WORKSPACE
感到困惑。为什么Jenkins需要
$WORKSPACE
,但在另一个工作目录中执行shell?事实上,它们对我来说是一样的,至少最初是这样。我希望shell从项目的工作区目录开始。您可以通过制作
cd/some/other/place
来改变这一点,但作为默认设置,这是有意义的。脚本中是否有其他内容正在更改您所在的目录?