温馨提示×

Jenkins Linux版如何进行网络配置

小樊
37
2025-12-14 05:26:18
栏目: 智能运维

Jenkins Linux版网络配置全流程

一 主机网络与防火墙

  • 配置静态IP
    • Ubuntu 18.04 及以后:编辑 /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
    • CentOS(RHEL系):编辑 /etc/sysconfig/network-scripts/ifcfg-ens33,示例:
      DEVICE=ens33
      BOOTPROTO=static
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
      DNS1=8.8.8.8
      ONBOOT=yes
      
      重启网络:sudo systemctl restart network
  • 防火墙放行端口
    • Ubuntu(UFW):sudo ufw allow 8080/tcp;如启用 HTTPS 再放行 443/tcp;如需 JNLP Agent 通信放行 50000/tcp;重载:sudo ufw reload
    • CentOS(firewalld):sudo firewall-cmd --permanent --add-port=8080/tcp;重载:sudo firewall-cmd --reload。如使用 HTTPS 同样放行 443/tcp

二 修改 Jenkins 监听端口与访问地址

  • 修改监听端口
    • Debian/Ubuntu(传统 SysV/Upstart 场景):编辑 /etc/default/jenkins,设置 HTTP_PORT=8080(或自定义端口),保存后重启:sudo systemctl restart jenkins
    • CentOS/RHEL:编辑 /etc/sysconfig/jenkins,设置 JENKINS_PORT="8000"(示例),保存后重启:sudo systemctl restart jenkins
  • 设置 Jenkins URL
    • Web 界面:Manage Jenkins → Configure System → Jenkins URL,填写实际访问地址(如 http://服务器IP:8080 或域名)。
    • 首次访问初始密码路径:/var/lib/jenkins/secrets/initialAdminPassword

三 启用 HTTPS 与反向代理

  • 方式A:内置 HTTPS(systemd 环境变量)
    • 生成 PKCS#12 证书(示例):
      openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out jenkins.pem
      openssl pkcs12 -inkey key.pem -in jenkins.pem -export -out jenkins.p12
      
    • 创建覆盖目录与文件 /etc/systemd/system/jenkins.service.d/override.conf
      [Service]
      Environment="JENKINS_HTTPS_PORT=8443"
      Environment="JENKINS_HTTPS_KEYSTORE=/var/lib/jenkins/jenkins.p12"
      Environment="JENKINS_HTTPS_KEYSTORE_PASSWORD=your_keystore_password"
      
    • 使配置生效并重启:sudo systemctl daemon-reload && sudo systemctl restart jenkins,访问 https://服务器IP:8443
  • 方式B:Nginx 反向代理(HTTP/HTTPS)
    • 思路:Nginx 对外提供 80/443,反向代理到 localhost:8080;证书由 Nginx 管理,Jenkins 保持 HTTP 监听。适合统一网关、HTTP/2、证书自动续期等场景。

四 代理、DNS 与连通性验证

  • 代理与 DNS
    • 若服务器需通过代理访问外网,在 /etc/environment 设置:
      http_proxy="http://代理IP:端口/"
      https_proxy="https://代理IP:端口/"
      
      使环境变量生效:source /etc/environment
    • 修正 DNS(可选):编辑 /etc/systemd/resolved.conf,设置 DNS=114.114.114.114 8.8.8.8,重启或重启 resolved 服务。
  • 连通性验证
    • 本机:curl -I http://127.0.0.1:8080
    • 远程:curl -I http://服务器IP:8080
    • 查看端口监听:ss -ltnp | grep :8080
    • 查看服务状态:sudo systemctl status jenkins
    • 查看日志:sudo journalctl -u jenkins -f

0