Jenkins基于Java运行,所有节点(主节点、从节点)均需安装OpenJDK 11(或更高版本)。
在所有节点执行以下命令:
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version # 验证安装(需显示Java版本信息)
在主节点上,添加Jenkins官方APT源以获取稳定版本:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt update
sudo apt install -y jenkins
启动Jenkins服务并设置开机自启:
sudo systemctl enable --now jenkins
默认情况下,Jenkins主节点运行在8080端口,可通过http://<主节点IP>:8080访问。
访问Jenkins管理界面(http://<主节点IP>:8080),完成以下步骤:
/var/lib/jenkins/secrets/initialAdminPassword读取初始密码,输入后继续。在从节点上,同样安装Jenkins(版本需与主节点一致):
sudo apt update
sudo apt install -y jenkins
启动从节点服务:
sudo systemctl enable --now jenkins
在Jenkins主节点的管理界面,进入Manage Jenkins > Manage Nodes and Clouds > New Node:
slave1)。/var/jenkins_slave),需提前创建。若选择“Launch agents via SSH”,需在主节点生成SSH密钥,并将公钥复制到从节点:
# 在主节点执行
ssh-keygen -t rsa -b 4096 # 一路回车,默认路径
ssh-copy-id root@<从节点IP> # 将公钥复制到从节点(需输入从节点密码)
测试SSH连接:
ssh root@<从节点IP> # 应无需密码直接登录
在Jenkins主节点的管理界面,进入Manage Jenkins > Manage Nodes and Clouds,检查从节点状态:
若需提升集群可用性,可使用Nginx或HAProxy作为负载均衡器,将请求分发到多个主节点(适用于多主节点集群)。
以Nginx为例,配置步骤如下:
sudo apt install -y nginx/etc/nginx/sites-available/default),添加以下内容:upstream jenkins_cluster {
server <主节点1IP>:8080;
server <主节点2IP>:8080; # 多主节点时添加更多server
}
server {
listen 80;
location / {
proxy_pass http://jenkins_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
sudo systemctl restart nginxntp或chrony服务)。/var/jenkins_slave目录需有足够权限(建议归属jenkins用户)。