在 Debian 上搭建多节点 Jenkins 集群
一 架构与准备
二 安装与初始化 Master
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version
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-get update
sudo apt-get install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo cat /var/lib/jenkins/secrets/initialadminpassword
sudo ufw allow 8080/tcp
三 配置 Master 节点
四 添加多个 Agent 节点
# 方式 A:使用官方 jenkins-agent.jar(推荐)
curl -O http://<master-ip>:8080/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://<master-ip>:8080/computer/<agent-name>/slave-agent.jnlp -secret <secret> -workDir "/var/lib/jenkins"
# 方式 B:使用 jenkins-cli 安装并启动(可选)
wget http://<master-ip>:8080/jnlpJars/jenkins-cli.jar
java -jar jenkins-cli.jar -s http://<master-ip>:8080/ -auth <user>:<token> \
agent install <agent-name>
ssh-keygen -t ed25519 -b 256
ssh-copy-id jenkins@<agent-ip>
五 高可用与扩展
frontend jenkins
bind *:8080
default_backend jenkins_servers
backend jenkins_servers
balance roundrobin
server master1 192.0.2.11:8080 check
server master2 192.0.2.12:8080 check
docker run -d --name agent1 \
-e JENKINS_URL=http://<master-ip>:8080 \
-e JENKINS_SECRET=<secret> \
-e JENKINS_AGENT_NAME=agent1 \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/agent:latest