持续集成 (Continuous Integration)
Harness 持续集成 (CI) 模块帮助开发团队自动化代码构建、测试和推送过程,实现高效的应用交付。核心功能
智能构建
- Test Intelligence:智能测试选择,只运行受代码变更影响的测试,大幅缩短测试时间
- Cache Intelligence:自动缓存依赖和构建产物,加速后续构建
- Docker Layer Caching:优化容器镜像层缓存,减少构建时间
构建基础设施
- 托管构建:使用 Harness Cloud,无需管理构建服务器
- 自托管构建:在您的 Kubernetes 集群或 VM 上运行构建
- 动态资源配置:根据构建需求自动调整资源配额
流水线集成
- 多代码库支持:在同一流水线中处理多个 Git 仓库
- 可视化编辑器:通过图形界面快速构建流水线
- YAML 编辑器:支持代码化流水线配置
- GitOps 集成:与 Git 工作流深度集成
适用场景
| 场景 | 说明 |
|---|---|
| 快速反馈 | 代码提交后立即获得构建和测试反馈 |
| 质量门禁 | 确保代码变更通过所有质量检查后才进入下一阶段 |
| 镜像推送 | 自动构建并推送 Docker 镜像到各类容器仓库 |
| 持续测试 | 每次变更都运行完整的测试套件 |
快速开始
1. 创建流水线
在 Harness 中创建一个新的 CI 流水线,选择 Build 阶段类型。2. 配置代码库
连接您的 Git 代码仓库,Harness 支持:- GitHub
- GitLab
- Bitbucket
- Azure DevOps
3. 添加构建步骤
常见的构建步骤包括:- Run Tests:执行测试套件
- Build and Push:构建并推送镜像
- Plugin:集成第三方工具
- Upload Artifacts:上传构建产物
4. 配置触发器
设置基于 Git 事件(Push、PR)或定时任务的触发规则。与其他模块集成
CI 模块可与其他 Harness 模块无缝集成:- CD:CI 构建完成后自动触发部署
- STO:在构建阶段集成安全扫描
- CCM:监控构建过程的云资源成本
- FF:结合功能标志进行渐进式发布
最佳实践
- 保持构建快速:优化依赖缓存,只运行必要的测试
- 使用测试隔离:确保测试可以并行运行
- 尽早失败:配置合理的质量门禁
- 记录构建日志:保留完整的构建过程日志便于调试