在 CentOS 上集成 Jenkins 的标准流程
一 环境准备与安装
- 更新系统与安装 Java(推荐 OpenJDK 11 或 OpenJDK 8):
- sudo yum update -y
- sudo yum install -y java-11-openjdk-devel 或 sudo yum install -y java-1.8.0-openjdk-devel
- 添加 Jenkins 官方仓库并导入 GPG 密钥:
- 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
- 安装并启动 Jenkins:
- sudo yum install -y jenkins
- sudo systemctl start jenkins && sudo systemctl enable jenkins
- 防火墙放行端口(默认 8080):
- sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
- 首次访问与解锁:
- 浏览器打开:http://<服务器IP>:8080
- 初始管理员密码路径:/var/lib/jenkins/secrets/initialAdminPassword
二 初始化与安全配置
- 完成安装向导:选择安装推荐插件,创建管理员账户与密码。
- 全局安全配置:启用基于角色的访问控制(RBAC)、项目矩阵授权,限制匿名权限。
- 通信安全:建议启用 HTTPS(反向代理或 Nginx Ingress),并使用强密码与定期轮换策略。
三 构建工具与代码拉取
- 安装常用构建工具与版本控制:
- sudo yum install -y git
- 可选:安装 Maven(示例:下载解压至 /usr/local/maven,配置环境变量 MAVEN_HOME 与 PATH)
- Jenkins 全局工具配置:
- 在“全局工具配置”中指定 JDK、Git、Maven 的安装路径或自动安装。
- 创建 Job 示例(Freestyle):
- 源码管理:选择 Git,填写仓库 URL 与分支(如 main/develop)
- 构建触发器:选择轮询 SCM 或配置 Webhook(如 GitHub/GitLab 的 push 事件触发)
- 构建步骤:执行构建命令(如 mvn clean package)
四 自动化触发与分布式构建
- 自动化触发:
- 轮询 SCM:在“构建触发器”中设置日程表达式(如 H/5 * * * * 表示每 5 分钟检查一次)
- Webhook:在代码托管平台配置 Jenkins Webhook URL,并选择触发事件(push、PR 等)
- 分布式构建(可选):
- 在“节点管理”中添加 Agent/代理节点(可部署在多台 CentOS 机器上),分担构建与测试负载,提高吞吐。
五 运维与优化要点
- 性能与资源:
- 建议至少 4 核 CPU、8GB 内存、SSD 存储
- 调整 Jenkins JVM 堆大小(如在 JAVA_ARGS 中设置 -Xms2g -Xmx2g)
- 插件与更新:
- 使用官方或可信镜像源加速插件下载,定期更新 Jenkins 与插件
- 日志与监控:
- 使用 JavaMelody 等插件进行性能监控,结合 Prometheus + Grafana 做可视化
- 配置 rsyslog 与 logrotate 进行日志管理与轮转
- 备份与恢复:
- 定期备份 JENKINS_HOME(如每日定时备份到 /var/backup/jenkins),确保数据安全与可快速恢复。