在CentOS上配置Jenkins的CI/CD流程涉及多个步骤,包括环境准备、Jenkins安装、插件安装、流水线配置等。以下是一个详细的指南:
环境准备
-
硬件与操作系统选择:
- 生产环境:8核CPU / 16GB内存 / 100GB SSD存储(建议多节点部署,分离Master与Agent)
- 测试环境:4核CPU / 8GB内存 / 50GB SSD存储
- 操作系统:推荐使用CentOS Stream 9,需注意FirewallD与SELinux配置。
-
安装依赖:
- 安装Java环境:
sudo yum install -y java-11-openjdk-devel
- 安装Jenkins:
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
- 安装Java环境:
-
启动Jenkins服务:
sudo systemctl enable jenkins sudo systemctl start jenkins sudo systemctl status jenkins # 确认状态为Active
-
防火墙与端口开放:
sudo firewall-cmd --allow 8080/tcp sudo firewall-cmd --allow 50000/tcp sudo firewall-cmd --reload
初始化配置
- 解锁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
,创建管理员用户。
构建CI/CD流水线
- 连接代码仓库(以GitHub为例):
- 生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins_github cat ~/.ssh/jenkins_github.pub # 复制公钥到GitHub的Deploy Keys
- 在Jenkins中配置凭据:进入
Manage Jenkins -> Credentials -> System -> Global credentials
,添加SSH私钥。
- 生成SSH密钥对:
- 创建声明式流水线项目:
- 新建Pipeline任务,任务名:
demo-pipeline
。 - 选择
Pipeline script from SCM
,配置Git仓库地址与凭据。
- 新建Pipeline任务,任务名:
示例流水线配置
以下是一个简单的Jenkinsfile示例,用于Java项目的CI/CD流程:
pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean package' } } stage('Test') { steps { sh 'mvn test' } } stage('Deploy') { when { branch 'master' } steps { sh 'mvn deploy' } } } }
监控和反馈
为跟踪管道状态和应用程序性能,设置监控和反馈系统。这有助于识别和解决问题,并改进管道。
以上步骤涵盖了在CentOS上配置Jenkins CI/CD流程的基本流程,具体配置可能会根据项目需求和使用的插件有所不同。