首页主机资讯Ubuntu部署Jenkins的网络设置

Ubuntu部署Jenkins的网络设置

时间2026-01-22 00:02:04发布访客分类主机资讯浏览276
导读:Ubuntu 上部署 Jenkins 的网络设置 一 网络与防火墙基础 固定 IP(Ubuntu 18.04+ 使用 Netplan) 编辑配置文件(文件名因环境而异,如:/etc/netplan/50-cloud-init.yaml...

Ubuntu 上部署 Jenkins 的网络设置

一 网络与防火墙基础

  • 固定 IP(Ubuntu 18.04+ 使用 Netplan
    • 编辑配置文件(文件名因环境而异,如:/etc/netplan/50-cloud-init.yaml/etc/netplan/*.yaml):
      network:
        version: 2
        renderer: networkd
        ethernets:
          enp0s3:
            dhcp4: no
            addresses: [10.0.2.15/24]
            gateway4: 10.0.2.1
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
      
    • 应用配置:sudo netplan apply
    • 如需使用 NetworkManager 管理 DNS:sudo nmcli con modify "Wired connection 1" ipv4.dns "8.8.8.8,8.8.4.4" & & sudo nmcli con up "Wired connection 1"
  • 防火墙放行端口
    • 放行 Jenkins Web 8080Agent 通信 50000
      sudo ufw allow 8080/tcp
      sudo ufw allow 50000/tcp
      sudo ufw reload
      
    • 如启用 UFW,确保允许 SSH(例如 sudo ufw allow OpenSSH)以免被锁。

二 反向代理与 HTTPS

  • 使用 Nginx 终止 HTTPS 并反向代理到本地 8080
    • 安装与启用 Nginx 后,配置站点(示例:/etc/nginx/sites-enabled/default):
      server {
          
          listen 80;
          
          server_name jenkins.example.com;
          
          return 301 https://$host$request_uri;
      
      }
      
      
      server {
          
          listen 443 ssl http2;
          
          server_name jenkins.example.com;
          
      
          ssl_certificate /etc/letsencrypt/live/jenkins.example.com/fullchain.pem;
          
          ssl_certificate_key /etc/letsencrypt/live/jenkins.example.com/privkey.pem;
          
      
          access_log  /var/log/nginx/jenkins.access.log;
          
          error_log   /var/log/nginx/jenkins.error.log;
      
      
          location / {
          
              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;
          
              proxy_pass http://localhost:8080;
          
              proxy_read_timeout 90;
          
              proxy_redirect http://localhost:8080 https://jenkins.example.com;
      
          }
      
      }
          
      
    • 检查并重载 Nginx:sudo nginx -t & & sudo systemctl reload nginx
    • 获取证书(示例域名):sudo certbot certonly --nginx -d jenkins.example.com
  • Jenkins 侧配合
    • Manage Jenkins → System 中设置 Jenkins URLhttps://jenkins.example.com
    • Manage Jenkins → Global Security 勾选 Use proxy compatibility(或启用“防止跨站点请求伪造”的代理兼容选项),确保反向代理头部正确传递。

三 容器化部署端口与网络

  • Docker Compose 示例(同时映射 808050000
    version: '3.8'
    services:
      jenkins:
        image: jenkinsci/blueocean:lts
        restart: always
        ports:
          - "8080:8080"
          - "50000:50000"
        environment:
          TZ: Asia/Shanghai
        volumes:
          - jenkins_data:/var/jenkins_home
    volumes:
      jenkins_data:
    
  • 主机防火墙同样需要放行 8080/tcp50000/tcp,以便 Agent 与浏览器访问。

四 验证与常见问题

  • 连通性验证
    • 本机:curl -I http://localhost:8080
    • 远程:curl -I http://< 服务器IP> :8080
    • 启用代理后:curl -I https://jenkins.example.com
  • 常见故障排查
    • 端口未放行:检查 UFW/云安全组 是否放行 8080/50000
    • 反向代理错误:出现 “Reverse proxy set up is broken” 时,核对 Nginx 的 proxy_passproxy_redirect,确保与 Jenkins URL 一致,且头部包含 X-Forwarded-For/Proto/Host
    • DNS 解析异常:确认 /etc/resolv.confNetplan/NetworkManager 中的 DNS 配置正确。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu部署Jenkins的网络设置
本文地址: https://pptw.com/jishu/789272.html
Jenkins在Ubuntu上的监控与报警 Jenkins在Ubuntu中的任务调度

游客 回复需填写必要信息