温馨提示×

Debian Jenkins如何设代理

小樊
40
2026-09-23 07:56:20
栏目: 智能运维

在 Debian 上运行的 Jenkins 设置代理(Proxy),常见有 三种场景,下面分别说明:


一、Jenkins 本身通过代理访问外网(系统代理)

适用于:Jenkins 访问互联网(插件下载、更新等)需要走 HTTP/HTTPS 代理

方法 1:Web 界面配置(推荐)

  1. 登录 Jenkins
  2. 进入
    Manage Jenkins → System → HTTP Proxy
  3. 勾选 Set HTTP Proxy
  4. 填写:
    • Proxy Host
    • Proxy Port
    • (可选)No Proxy Host
    • (如有)用户名 / 密码
  5. 保存

方法 2:修改配置文件

编辑:

sudo vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

示例:

<hudson.model.UpdateCenter>
  <proxy>
    <name>proxy.example.com</name>
    <port>8080</port>
    <userName>user</userName>
    <password>pass</password>
  </proxy>
</hudson.model.UpdateCenter>

重启 Jenkins:

sudo systemctl restart jenkins

二、Jenkins 构建任务中使用代理(Pipeline / Shell)

1️⃣ Pipeline 中设置环境变量

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

2️⃣ Shell 构建步骤中

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

三、Jenkins Agent(节点)通过代理连接 Controller

适用于:Agent 在隔离网络,需经代理连接 Jenkins Master

方法:启动 agent 时指定代理

java -Dhttp.proxyHost=proxy.example.com \
     -Dhttp.proxyPort=8080 \
     -Dhttps.proxyHost=proxy.example.com \
     -Dhttps.proxyPort=8080 \
     -jar agent.jar -url http://jenkins.example.com

或使用 JAVA_OPTS:

export JAVA_OPTS="-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080"

四、Debian 系统级代理(影响 Jenkins 服务)

编辑:

sudo vim /etc/environment

添加:

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

然后:

sudo systemctl daemon-reload
sudo systemctl restart jenkins

五、常见问题

✅ 插件安装失败 → 检查 HTTP Proxy
✅ git clone 超时 → no_proxy 是否包含 git 服务器
✅ agent 无法连接 → agent JVM 代理参数是否正确


如果你能说明是 哪一种代理需求(Jenkins 上网 / 构建用 / Agent 连接),我可以给你更精确的配置示例。

0 踩