温馨提示×

centos jenkins如何设代理

小樊
48
2026-09-18 10:33:38
栏目: 智能运维

在 CentOS 上运行的 Jenkins 设置代理,常见有 3 种场景,你可以按需选择:


一、Jenkins 自身访问外网走 HTTP/HTTPS 代理(最常用)

适用于:

  • 插件下载慢/无法下载
  • 访问 GitHub、Maven 仓库受限

方法 1:通过 Jenkins Web 页面设置(推荐)

  1. 登录 Jenkins
  2. 进入
    Manage Jenkins → Plugins → Advanced
  3. 找到 HTTP Proxy Configuration
  4. 填写:
    • Proxy Host:proxy.xxx.com
    • Port:8080
    • 用户名/密码(如有)
    • No Proxy Host:localhost,127.0.0.1
  5. 保存并测试

方法 2:修改 Jenkins 启动参数(CentOS systemd)

编辑 Jenkins 服务配置:

sudo systemctl edit jenkins

添加:

[Service]
Environment="JAVA_OPTS=-Dhttp.proxyHost=proxy.xxx.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.xxx.com -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost|127.0.0.1"

保存后:

sudo systemctl daemon-reload
sudo systemctl restart jenkins

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

适用于 Maven、npm、git、curl 等命令走代理

1️⃣ Pipeline 示例

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

2️⃣ Maven 单独配置

~/.m2/settings.xml

<proxies>
  <proxy>
    <id>proxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxy.xxx.com</host>
    <port>8080</port>
  </proxy>
</proxies>

三、Jenkins 作为反向代理后面(Nginx 示例)

适用于 外网访问 Jenkins

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;
    }
}

四、常见问题排查

✅ 插件仍无法下载
→ 检查 no_proxy 是否包含 Jenkins 地址

✅ Jenkins 启动慢
→ 代理地址不可达

✅ git clone 失败
→ 设置:

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

如果你能告诉我:

  • Jenkins 版本
  • 是 访问外网 还是 被外网访问
  • 是否使用 Pipeline / Docker

我可以给你更精确配置。

0 踩