使用docker工作流插件时,环境变量不一致
我正在尝试这样做:使用docker工作流插件时,环境变量不一致,docker,jenkins,jenkins-pipeline,Docker,Jenkins,Jenkins Pipeline,我正在尝试这样做: stage('reproduce') { sh """ echo '1' printenv PATH echo "$PATH" """ docker.image('python:3.6.4-slim').inside { sh "&quo
stage('reproduce') {
sh """
echo '1'
printenv PATH
echo "$PATH"
"""
docker.image('python:3.6.4-slim').inside {
sh """
echo '2'
printenv PATH
echo "$PATH"
"""
withEnv(["PATH=$PATH:/my/custom/path"]) {
sh """
echo '3'
printenv PATH
echo "$PATH"
"""
}
}
}
sh(1)给了我:
+ printenv PATH
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ echo /opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ printenv PATH
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ echo /opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
到目前为止一切都很好
sh(2)给了我:
+ printenv PATH
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ echo /opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ printenv PATH
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ echo /opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
这已经让人困惑了
sh(3)给出:
关于这一点,我有几个问题: