You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中设置HTTP代理?代理环境变量不生效怎么办

问题原因

  • Jenkins中每一个sh步骤都会启动独立的shell子进程,进程结束后当前会话内设置的环境变量会全部销毁,不会传递到后续的sh步骤中。你前四步单独执行export操作,后续的printenv和./myScript运行在全新的shell进程里,自然读取不到之前设置的变量。

解决方案

下面三种方案均可解决,可按实际场景选择:

方案1:合并相关命令到同一个sh块

将变量导出、打印校验、脚本执行的逻辑全部放在同一个sh步骤中,保证所有操作在同一个shell会话内完成:

stage('build') {
    steps {
        echo "************ 导出变量前 ***************************"
        sh 'printenv | sort'
        sh '''
            export http_proxy='http://127.0.0.1:3128'
            export https_proxy='http://127.0.0.1:3128'
            export HTTP_PROXY='http://127.0.0.1:3128'
            export HTTPS_PROXY='http://127.0.0.1:3128'
            echo "************ 导出变量后 ***************************"
            printenv | sort
            echo "**************************************************"
            ./myScript
        '''
    }
}

方案2:使用environment块全局配置代理变量

如果需要整个pipeline或当前stage都生效,直接在对应层级添加environment块声明变量,无需每次手动export:

// 示例为pipeline全局生效,也可将environment块放在stage内部仅对当前阶段生效
pipeline {
    agent any
    environment {
        http_proxy = 'http://127.0.0.1:3128'
        https_proxy = 'http://127.0.0.1:3128'
        HTTP_PROXY = 'http://127.0.0.1:3128'
        HTTPS_PROXY = 'http://127.0.0.1:3128'
    }
    stages {
        stage('build') {
            steps {
                sh 'printenv | sort'
                sh './myScript'
            }
        }
    }
}

方案3:使用withEnv临时注入环境变量

仅需要给部分步骤临时添加代理变量时,用withEnv包裹需要生效的步骤即可:

stage('build') {
    steps {
        echo "************ 导出变量前 ***************************"
        sh 'printenv | sort'
        withEnv([
            'http_proxy=http://127.0.0.1:3128',
            'https_proxy=http://127.0.0.1:3128',
            'HTTP_PROXY=http://127.0.0.1:3128',
            'HTTPS_PROXY=http://127.0.0.1:3128'
        ]) {
            echo "************ 导出变量后 ***************************"
            sh 'printenv | sort'
            echo "**************************************************"
            sh './myScript'
        }
    }
}

内容的提问来源于stack exchange,提问作者Mouin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:06:06