温馨提示×

ubuntu怎么配jenkins代理

小樊
46
2026-09-25 13:28:52
栏目: 智能运维

在 Ubuntu 上给 Jenkins 配置“代理”一般有两种常见含义,我先分情况说明,你按需对照:


一、Jenkins 通过 HTTP/HTTPS 代理访问外网(公司内网环境)

适用于:Jenkins 本身需要走代理才能访问 Internet(如下载插件)

1. 通过 Jenkins Web 界面配置(推荐)

  1. 登录 Jenkins
  2. 进入
    Manage Jenkins → Plugins → Advanced(旧版在 Configure System)
  3. 找到 HTTP Proxy Configuration
  4. 填写:
    • Proxy Host
    • Proxy Port
    • 如有账号:Username / Password
    • No Proxy Host(如 localhost,127.0.0.1)
  5. 保存并测试

2. 通过 Java 启动参数配置(更底层)

编辑 Jenkins 启动配置(systemd):

sudo systemctl edit jenkins

添加:

[Service]
Environment="JAVA_OPTS=-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8080"

然后:

sudo systemctl daemon-reload
sudo systemctl restart jenkins

二、Jenkins Agent(节点)配置(构建机)

适用于:Ubuntu 作为 Jenkins 的构建节点(Agent)

方式 1:SSH Agent(最常用)

  1. Jenkins 安装 SSH Build Agents 插件
  2. 在 Ubuntu 上:
    sudo apt install openjdk-17-jre
    sudo useradd -m jenkins
    sudo su - jenkins
    ssh-keygen
    
  3. 把公钥加到 Jenkins 凭据
  4. Jenkins:
    • Manage Jenkins → Nodes
    • New Node → Permanent Agent
    • Launch method: Launch agents via SSH

方式 2:Agent 走代理连接 Jenkins

如果 Agent 在外网,Jenkins 在内网:

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

三、常见排错

  • 插件装不上 → 检查代理 + No Proxy Host
  • Agent 连不上 → 检查 Java 版本、SSH 端口、防火墙
  • systemd 不生效 → 确认 JAVA_OPTS 是否被覆盖

如果你能说清楚是 “Jenkins 走代理上网” 还是 “Ubuntu 作为 Jenkins Agent”,我可以给你更精确的步骤。

0 踩