Jenkins在Debian上的集群部署方案可以参考以下步骤:
- 环境准备:
-
硬件与操作系统选择:
- 生产环境推荐配置:8核CPU / 16GB内存 / 100GB SSD存储(建议多节点部署,分离Master与Agent)。
- 测试环境推荐配置:4核CPU / 8GB内存 / 50GB SSD存储。
- 操作系统:优先选择Ubuntu 22.04 LTS,CentOS Stream 9也可支持,但需注意FirewallD与SELinux配置。
-
安装依赖与Jenkins:
- 安装Java环境:
- Ubuntu:
sudo apt update && sudo apt install -y openjdk-11-jdk
- CentOS:
sudo yum install -y java-11-openjdk-devel
- Ubuntu:
- 通过官方仓库安装Jenkins:
- Ubuntu:
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io.key 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 sudo apt update && sudo apt install -y jenkins
- CentOS:
sudo 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 -y jenkins
- Ubuntu:
- 启动Jenkins服务:
sudo systemctl enable jenkins sudo systemctl start jenkins sudo systemctl status jenkins # 确认状态为Active
- 防火墙与端口开放:
sudo ufw allow 8080/tcp sudo ufw allow 50000/tcp sudo ufw reload
- 安装Java环境:
- 初始化配置:
- 解锁Jenkins访问
http://<服务器IP>:8080
,输入初始密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
。 - 加速插件安装,更换国内镜像源:进入
Manage Jenkins -> Plugin Manager -> Advanced
,替换Update Site URL
为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
,安装必备插件:Pipeline、GitHub Integration、Docker、Kubernetes CLI、Credentials Binding。 - 权限安全配置,禁用匿名访问:进入
Manage Jenkins -> Security -> Enable security
,选择Logged-in users can do anything
,创建管理员用户,设置用户名、密码和邮箱,避免使用默认账号“admin”。
- 构建流水线:
- 连接代码仓库(以GitHub为例):
- 生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins_github
,复制公钥到GitHub的Deploy Keys。 - 在Jenkins中配置凭据:进入
Manage Jenkins -> Credentials -> System -> Global credentials
,添加SSH私钥(类型:SSH Username with private key),ID命名为github-ssh
。 - 创建声明式流水线项目,新建Pipeline任务,选择
Pipeline script from SCM
,配置Git仓库地址与凭据。
- 生成SSH密钥对:
- 高可用与灾备:
- 主从架构搭建,通过Jenkins Agent实现分布式构建(Docker一键部署Agent节点):
docker run -d --name jenkins-agent \ -v /var/run/docker.sock:/var/run/docker.sock \ -e JENKINS_URL=http://master-ip:8080 \ -e JENKINS_AGENT_NAME=agent
以上步骤提供了一个基本的Jenkins集群部署方案,具体配置可能需要根据实际环境和需求进行调整。