温馨提示×

debian jenkins如何代理

小樊
47
2026-09-20 09:16:12
栏目: 智能运维

在 Debian 上让 Jenkins 通过代理(Proxy)访问外网(如下载插件、更新源等),常见有几种场景。下面按最常见需求给你说明。


一、Jenkins 本身走 HTTP/HTTPS 代理(最常用)

适用于:

  • Jenkins 服务器在内网
  • 需要通过公司代理访问 Internet(插件中心、Maven、Git 等)

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

  1. 登录 Jenkins
  2. 进入
    Manage Jenkins → System → HTTP Proxy
  3. 勾选 HTTP Proxy
  4. 填写:
    • Proxy Host:如 proxy.company.com
    • Port:8080
    • 如有账号:
      • User name
      • Password
  5. 可选:
    • No Proxy Host:localhost,127.0.0.1,.internal
  6. 保存

✅ 适用于插件下载、更新中心


方法 2:修改 Jenkins 启动参数(系统级)

编辑 Jenkins 启动配置(Debian):

sudo nano /etc/default/jenkins

添加 JVM 参数:

JAVA_ARGS="-Dhttp.proxyHost=proxy.company.com \
-Dhttp.proxyPort=8080 \
-Dhttps.proxyHost=proxy.company.com \
-Dhttps.proxyPort=8080 \
-Dhttp.nonProxyHosts=localhost|127.0.0.1|.internal"

重启:

sudo systemctl restart jenkins

二、Jenkins 作为反向代理后端(Nginx 代理 Jenkins)

如果你是想 用 Nginx / Apache 代理 Jenkins(对外暴露)

Nginx 示例

server {
    listen 80;
    server_name jenkins.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Jenkins 配置:

  • Manage Jenkins → System
  • Jenkins URL:http://jenkins.example.com/

三、Pipeline / Agent 使用代理

1. 下载工具走代理

pipeline {
    agent any
    environment {
        HTTP_PROXY = "http://proxy:8080"
        HTTPS_PROXY = "http://proxy:8080"
    }
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
    }
}

2. Git 使用代理

git config --global http.proxy http://proxy:8080

四、常见问题

插件中心连不上?

  • 检查代理是否支持 HTTPS
  • 测试:
curl -I https://updates.jenkins.io

代理需要认证?

  • Web 界面直接填用户名密码
  • 或:
-Dhttp.proxyUser=xxx -Dhttp.proxyPassword=xxx

五、你具体是哪种需求?

你可以告诉我:

  1. ✅ Jenkins 访问外网(插件/下载)
  2. ✅ 用 Nginx 反向代理 Jenkins
  3. ✅ Jenkins Agent 走代理
  4. ✅ Docker 中 Jenkins 代理

我可以直接给你对应完整配置示例。

0 踩