以下是Jenkins在Debian上的高可用性部署方案:
确保所有节点安装相同版本Debian系统,配置好网络,使节点间能通过SSH无密码登录。
在所有节点上执行以下命令安装Jenkins:
sudo apt update
sudo apt install -y openjdk-11-jdk
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt update
sudo apt install -y jenkins
在主节点上,进入“Manage Jenkins”->“Manage Nodes and Clouds”,添加从节点,配置SSH无密码登录。也可在从节点上通过Docker运行Jenkins代理,连接到主节点。
以HAProxy为例,安装HAProxy:
sudo apt install haproxy
编辑/etc/haproxy/haproxy.cfg
文件,添加如下内容:
frontend jenkins
bind *:8080
default_backend jenkins_servers
backend jenkins_servers
balance roundrobin
server jenkins1 <主节点IP>:8080 check
server jenkins2 <从节点IP>:8080 check
重启HAProxy服务:
sudo systemctl restart haproxy
可使用NFS作为共享存储,确保所有Jenkins实例访问相同数据。同时,用Prometheus和Grafana监控Jenkins集群健康状况。