使用Jenkins实现持续集成的基本流程和关键配置点
- 代码仓库连接
- 在Jenkins中安装相应的版本控制系统插件,如Git插件。
- 进入Jenkins项目配置页面,在“源码管理”部分选择Git。
- 填写Git仓库的URL,添加具有访问权限的凭证(用户名和密码或SSH密钥)。
- 构建环境设置
- 确保Jenkins所在服务器安装了Java运行环境(JDK),版本需与项目要求匹配。
- 安装Maven或Gradle,根据项目构建工具选择。如果是Maven项目,配置Maven的路径(可在Jenkins系统设置 - 全局工具配置中设置Maven的安装路径和Maven主目录)。
- 若项目使用数据库,配置数据库连接信息,可通过环境变量或在项目配置文件中动态注入(在构建脚本中设置相关环境变量)。
- 测试执行策略
- 在构建脚本中(如Maven的pom.xml中的
<build>
标签下的<plugins>
)配置测试插件。对于Maven项目,maven - surefire - plugin
用于执行单元测试。
- 可以通过命令行参数控制测试范围,如
mvn test - Dtest=com.example.SomeTest
指定只运行某个测试类。
- 在Jenkins构建步骤中添加执行构建和测试的命令,如
mvn clean install
,此命令会先清理项目,然后编译、测试并打包。
- 配置测试报告的生成和展示,例如使用
maven - surefire - report - plugin
生成HTML格式的测试报告,Jenkins可通过插件(如Publish JUnit test result report)展示测试结果。
使用GitLab CI/CD实现持续集成的基本流程和关键配置点
- 代码仓库连接
- 由于GitLab CI/CD与GitLab代码仓库紧密集成,只要项目在GitLab上,就无需额外复杂的连接操作。在项目根目录创建
.gitlab-ci.yml
文件来定义CI/CD流程。
- 构建环境设置
- 使用Docker镜像来定义构建环境。例如,如果是Java项目,可以选择官方的OpenJDK镜像。在
.gitlab-ci.yml
文件中通过image
关键字指定,如image: maven:3.8.4 - openjdk - 11
。
- 可以在镜像中安装额外的依赖,如数据库客户端等,通过在
script
部分添加安装命令。例如,在基于Debian的镜像中安装MySQL客户端:apt - get update && apt - get install - y mysql - client
。
- 测试执行策略
- 在
.gitlab-ci.yml
的script
部分添加测试命令。对于Maven项目:mvn clean test
。
- 可以通过
rules
关键字来定义不同条件下的测试执行策略。例如,只在主分支或特定标签触发某些集成测试:
rules:
- if: '$CI_COMMIT_BRANCH == "main" || $CI_COMMIT_TAG =~ /^v[0 - 9]+(\.[0 - 9]+){2}$/'
script:
- mvn clean verify - Pintegration - test
- GitLab CI/CD会自动收集测试结果并在管道页面展示,也可以通过配置生成更详细的测试报告,如使用
mvn surefire:report - surefire:report - only
生成测试报告,并通过artifacts
关键字将报告文件保存下来供后续查看。