温馨提示×

jenkins ubuntu如何代理

小樊
42
2026-10-18 22:56:20
栏目: 智能运维

在 Ubuntu 上让 Jenkins 走代理(HTTP/HTTPS 代理),常见有几种场景,下面按最常用方式给你说明。


一、Jenkins 本身走代理(访问外网 / 插件下载)

适用于:

  • 公司内网
  • Jenkins 需要访问互联网(如下载插件)

方法 1:修改 Jenkins 启动参数(推荐)

1. 编辑 Jenkins 配置文件

sudo nano /etc/default/jenkins

2. 添加代理环境变量

export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export no_proxy="localhost,127.0.0.1"

3. 重启 Jenkins

sudo systemctl restart jenkins

方法 2:systemd 方式(Ubuntu 16.04+)

sudo systemctl edit jenkins

添加:

[Service]
Environment="http_proxy=http://proxy.example.com:8080"
Environment="https_proxy=http://proxy.example.com:8080"
Environment="no_proxy=localhost,127.0.0.1"

然后:

sudo systemctl daemon-reload
sudo systemctl restart jenkins

二、Jenkins Web 界面配置代理(插件更新)

Manage Jenkins → Plugins → Advanced

填写:

  • HTTP Proxy Host
  • Port
  • Username / Password(如有)

✅ 适合只代理插件下载,不影响构建


三、构建任务(Pipeline / Shell)走代理

Shell 中临时使用

export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080

Pipeline 示例

pipeline {
    agent any
    environment {
        http_proxy = 'http://proxy.example.com:8080'
        https_proxy = 'http://proxy.example.com:8080'
    }
    stages {
        stage('Build') {
            steps {
                sh 'curl https://example.com'
            }
        }
    }
}

四、Jenkins Agent(Node)走代理

在 agent 机器上同样设置:

export http_proxy=...
export https_proxy=...

并在 agent 启动命令中加入:

java -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080 \
     -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8080 \
     -jar agent.jar

五、常见问题

1. 插件还是下载失败?

  • 检查 no_proxy
  • 确认代理支持 HTTPS
  • 查看日志:
sudo journalctl -u jenkins

2. 内网地址不要走代理

no_proxy="localhost,127.0.0.1,192.168.0.0/16"

如果你能说明:

  • ✅ Jenkins 版本
  • ✅ Ubuntu 版本
  • ✅ 是想代理插件/构建/agent

我可以给你精确配置方案。

0 踩