温馨提示×

ubuntu jenkins如何代理

小樊
40
2026-09-10 06:50:11
栏目: 智能运维

在 Ubuntu 上使用 Jenkins 时,“代理”通常有三种常见含义,我先按最常见的情况说明,你可以对照自己的需求:


一、Jenkins 通过代理上网(HTTP/HTTPS Proxy)

如果你的 Ubuntu 服务器需要走代理才能访问外网(比如安装插件、拉取代码)。

1. 设置系统代理(可选)

export http_proxy=http://proxy_ip:port
export https_proxy=http://proxy_ip:port

2. 配置 Jenkins 使用代理

方式一:Web 界面

  • 登录 Jenkins
  • Manage Jenkins → Plugins → Advanced
  • 填写:
    • Proxy Host
    • Port
    • 如有账号:Username / Password

方式二:修改 Jenkins 启动参数 编辑:

sudo vim /etc/default/jenkins
# 或(systemd)
sudo systemctl edit jenkins

添加:

JAVA_OPTS="-Dhttp.proxyHost=proxy_ip -Dhttp.proxyPort=port \
-Dhttps.proxyHost=proxy_ip -Dhttps.proxyPort=port"

重启:

sudo systemctl restart jenkins

二、Jenkins Agent(节点代理)

如果你是指 Jenkins 主从架构(Master + Agent)。

1. 安装 Agent(Ubuntu)

sudo apt update
sudo apt install openjdk-17-jre -y

2. 在 Jenkins 上添加 Agent

  • Manage Jenkins → Nodes
  • New Node
  • 选择:
    • Permanent Agent
  • 配置:
    • Remote root directory
    • Launch method:
      • SSH(推荐)
      • or Java Web Start(JNLP)

3. Agent 启动示例(SSH)

确保 Master 能 SSH 到 Agent:

ssh jenkins@agent_ip

三、用 Nginx 反向代理 Jenkins

如果你是想 通过域名访问 Jenkins(如 jenkins.example.com)。

1. 安装 Nginx

sudo apt install nginx

2. 配置反向代理

sudo vim /etc/nginx/sites-available/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;
    }
}

启用:

sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

并修改 Jenkins:

Jenkins URL: http://jenkins.example.com/

你可以告诉我

你是想: 1️⃣ Jenkins 走代理上网
2️⃣ 配置 Jenkins Agent 节点
3️⃣ Nginx 反向代理 Jenkins
4️⃣ 其他(Docker / Kubernetes)

我可以直接给你精准配置步骤。

0 踩