在 CentOS 上运行的 Jenkins 设置代理,常见有 3 种场景,你可以按需选择:
适用于:
proxy.xxx.com8080localhost,127.0.0.1编辑 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
适用于 Maven、npm、git、curl 等命令走代理
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'
}
}
}
}
~/.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
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
如果你能告诉我:
我可以给你更精确配置。