centos

如何在CentOS上实现Jenkins集群

小樊
44
2025-07-10 21:21:07
栏目: 智能运维

在CentOS上实现Jenkins集群可以提高构建和部署的效率,特别是在需要处理大量任务或高并发请求时。以下是一个基本的步骤指南,帮助你在CentOS上搭建Jenkins集群:

1. 安装Jenkins

首先,在所有节点上安装Jenkins。

sudo yum install java-1.8.0-openjdk-devel
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins

启动Jenkins服务:

sudo systemctl start jenkins
sudo systemctl enable jenkins

访问 http://<your_server_ip>:8080 并按照提示完成初始配置。

2. 配置Jenkins Master

在主节点上配置Jenkins Master。

  1. 登录Jenkins管理界面。
  2. 进入 Manage Jenkins -> Configure System
  3. 配置Jenkins URL和其他系统设置。

3. 安装和配置Jenkins Slave(Agent)

在从节点上安装Jenkins Slave。

方法一:使用JNLP Agent

  1. 在从节点上下载并运行Jenkins Slave:
wget http://<master_ip>:8080/slave-agent.jnlp -O agent.jar
java -jar agent.jar -jnlpUrl http://<master_ip>:8080/computer/<slave_name>/slave-agent.jnlp -secret <secret> -workDir /path/to/work
  1. 在Jenkins Master界面中添加新的Slave:
    • 进入 Manage Jenkins -> Manage Nodes and Clouds -> New Node
    • 输入Slave名称,选择 Permanent Agent
    • 配置远程工作目录和启动方法为 Launch agent via Java Web Start
    • 输入之前获取的JNLP URL和密钥。

方法二:使用SSH Agent

  1. 在从节点上安装SSH客户端:
sudo yum install openssh-clients
  1. 生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "jenkins@<slave_name>"
  1. 将公钥复制到主节点的Jenkins用户:
ssh-copy-id jenkins@<master_ip>
  1. 在Jenkins Master界面中添加新的Slave:
    • 进入 Manage Jenkins -> Manage Nodes and Clouds -> New Node
    • 输入Slave名称,选择 Permanent Agent
    • 配置远程工作目录和启动方法为 Launch agent via SSH
    • 输入从节点的IP地址和SSH密钥。

4. 配置负载均衡

为了实现负载均衡,可以使用Nginx或HAProxy作为反向代理。

使用Nginx

  1. 安装Nginx:
sudo yum install nginx
  1. 配置Nginx:
http {
    upstream jenkins {
        server <master_ip>:8080;
        server <slave_ip1>:8080;
        server <slave_ip2>:8080;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://jenkins;
            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;
        }
    }
}
  1. 启动Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx

5. 配置Jenkins Job

在Jenkins Master上配置Job,使其能够在多个Slave上并行执行。

  1. 创建一个新的Job或编辑现有的Job。
  2. Build Environment 中选择 Use secret text(s) or file(s) 并添加Slave的密钥。
  3. Build 部分中,选择 Add build step -> Execute shellExecute Windows batch command,并输入需要在Slave上执行的命令。

6. 监控和日志

确保监控Jenkins集群的状态和日志,以便及时发现和解决问题。

通过以上步骤,你可以在CentOS上成功搭建一个Jenkins集群,并实现负载均衡和高可用性。

0
看了该问题的人还看了