Ubuntu Jenkins部署如何实现负载均衡

在Ubuntu上部署Jenkins并实现负载均衡,可参考以下步骤:

  1. 安装Jenkins

    • 使用包管理器安装:
      sudo apt update && sudo apt install jenkins  
      sudo systemctl start jenkins && sudo systemctl enable jenkins  
      
    • 或通过Docker安装(需提前安装Docker):
      docker run -d --name jenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:lts  
      
  2. 配置多节点(Slave)

    • 在Jenkins主界面进入 Manage Jenkins → Manage Nodes and Clouds,添加从节点,通过SSH或JNLP协议连接,确保节点与主节点网络互通。
  3. 使用负载均衡器分发请求

    • Nginx配置
      安装Nginx:sudo apt install nginx
      编辑配置文件 /etc/nginx/sites-available/default,添加负载均衡规则:

      upstream jenkins {  
          server :8080;  
          server :8080;  
      }  
      server {  
          listen 80;  
          location / {  
              proxy_pass http://jenkins;  
              proxy_set_header Host $host;  
              proxy_set_header X-Real-IP $remote_addr;  
          }  
      }  
      

      重启Nginx:sudo systemctl restart nginx

    • HAProxy配置(可选):
      安装HAProxy:sudo apt install haproxy
      编辑 /etc/haproxy/haproxy.cfg,配置轮询策略:

      frontend jenkins_frontend  
          bind *:80  
          default_backend jenkins_backend  
      backend jenkins_backend  
          balance roundrobin  
          server jenkins1 :8080 check  
          server jenkins2 :8080 check  
      

      重启HAProxy:sudo systemctl restart haproxy

  4. 验证负载均衡
    访问负载均衡器IP或域名,观察请求是否被分发到不同Jenkins节点。

说明

  • 负载均衡器负责分发HTTP请求,实际构建任务仍由Jenkins主节点调度至从节点执行。
  • 若需高可用性,可结合Docker Swarm或Kubernetes部署Jenkins集群,实现节点动态扩缩容。