搭建 Git + Jenkins 的持续集成(CI)环境是一个常见的 DevOps 实践,可以帮助团队自动化代码构建、测试和部署。以下是详细的步骤指南:
1. 准备工作
- Git 仓库:确保你有一个 Git 仓库(如 GitHub、GitLab、Bitbucket 或自建 Git 服务器)。
- 服务器:准备一台服务器(物理机或虚拟机)用于安装 Jenkins。
- 环境要求:
- 操作系统:Linux(如 Ubuntu/CentOS)或 Windows。
- Java:Jenkins 是基于 Java 的,需要安装 JDK 8 或更高版本。
2. 安装 Jenkins
在 Linux 上安装 Jenkins
-
安装 Java:
sudo apt update sudo apt install openjdk-11-jdk java -version # 验证安装
-
添加 Jenkins 仓库:
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 update
-
安装 Jenkins:
sudo apt install jenkins
-
启动 Jenkins:
sudo systemctl start jenkins sudo systemctl enable jenkins # 设置开机自启
-
访问 Jenkins:
- 打开浏览器,访问
http://<服务器IP>:8080
。 - 从日志中获取初始管理员密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 打开浏览器,访问
-
完成初始化设置:
- 安装推荐的插件。
- 创建管理员用户。
在 Windows 上安装 Jenkins
- 下载 Jenkins 的 Windows 安装包(
.msi
):- 访问 Jenkins 官网 下载。
- 运行安装包,按照提示完成安装。
- 访问
http://localhost:8080
,按照提示完成初始化设置。
3. 配置 Jenkins
-
安装 Git 插件:
- 进入 Jenkins 管理界面,点击 Manage Jenkins > Manage Plugins。
- 在 Available 选项卡中搜索
Git Plugin
,安装并重启 Jenkins。
-
配置 Git:
- 进入 Manage Jenkins > Global Tool Configuration。
- 找到 Git 部分,配置 Git 可执行文件路径(如果 Git 已安装,Jenkins 通常会自动检测)。
-
配置 JDK、Maven/Gradle(可选):
- 如果你的项目需要 Java 构建工具,可以在 Global Tool Configuration 中配置 JDK、Maven 或 Gradle。
4. 创建 Jenkins 任务
-
新建任务:
- 点击 Jenkins 首页的 New Item。
- 输入任务名称,选择 Freestyle project 或 Pipeline,点击 OK。
-
配置 Git 仓库:
- 在 Source Code Management 部分,选择 Git。
- 输入 Git 仓库的 URL(如
https://github.com/your-repo.git
)。 - 如果需要认证,添加凭据(用户名/密码或 SSH 密钥)。
-
配置触发器:
- 在 Build Triggers 部分,选择 Poll SCM 或 GitHub hook trigger。
- Poll SCM:定时检查 Git 仓库是否有更新。
- GitHub hook:通过 Webhook 触发构建(需要在 GitHub 仓库中配置 Webhook)。
- 在 Build Triggers 部分,选择 Poll SCM 或 GitHub hook trigger。
-
配置构建步骤:
- 在 Build 部分,添加构建步骤:
- 如果是 Maven 项目,选择 Invoke top-level Maven targets。
- 如果是 Shell 脚本,选择 Execute shell,输入构建命令(如
mvn clean install
)。
- 在 Build 部分,添加构建步骤:
-
保存并运行:
- 点击 Save,然后点击 Build Now 手动触发构建。
5. 配置 Webhook(可选)
为了实现 Git 提交后自动触发 Jenkins 构建,可以配置 Webhook:
- 在 Jenkins 中启用 Webhook:
- 确保 Jenkins 任务中已启用 GitHub hook trigger。
- 在 GitHub/GitLab 中配置 Webhook:
- 进入 Git 仓库的 Settings > Webhooks。
- 添加 Webhook,URL 填写
http://<Jenkins服务器IP>:8080/github-webhook/
。 - 选择触发事件(如
push
)。
6. 配置 Pipeline(可选)
对于更复杂的项目,可以使用 Jenkins Pipeline:
- 在 Jenkins 任务中选择 Pipeline。
- 在 Pipeline 部分,选择 Pipeline script 或 Pipeline script from SCM。
- 编写 Jenkinsfile(定义构建流程),并将其提交到 Git 仓库。
示例 Jenkinsfile:
pipeline {agent anystages {stage('Build') {steps {sh 'mvn clean install'}}stage('Test') {steps {sh 'mvn test'}}stage('Deploy') {steps {sh 'echo "Deploying..."'}}}
}
7. 验证
- 提交代码到 Git 仓库,观察 Jenkins 是否自动触发构建。
- 查看构建日志,确保构建成功。
8. 扩展功能
- 邮件通知:配置 Jenkins 在构建失败时发送邮件通知。
- 构建报告:集成测试报告工具(如 JUnit、Allure)。
- 多环境部署:配置不同的 Jenkins 任务或 Pipeline 阶段,支持测试环境、预生产环境和生产环境的部署。