持续集成(CI)- 基础
持续集成(Continuous Integration)在多人的项目中有很重要的作用,本次把这方面的知识归总一下,为相关的实践提供一些参考。
CI定义和优点
参考大师的定义: http://www.martinfowler.com/articles/continuousIntegration.html
持续集成作为一个很好的开发实践,主要有如下方面的一些价值:
- 减少风险
- 减少重复过程
- 在任何实践、任何地点生成可部署的软件
- 增强项目的可见性
- 对开发团队的软件产品建立起更强大的产品信息
CI的开发流程
1 从代码管理器签出源文件
2 修改代码
3 编译代码
4 遇到错误,转到2继续修改直到达到预期
5 运行单元测试,期望所有的测试绿色(通过)
6 单元测试出错,转入2
7 重构代码,按照规范增强可读性,转入2
8 完成后签入代码
9 CI服务器监控到变化,自动获取代码
10 CI服务器自动编译代码
11 CI服务器运行单元测试、规范检查、集成测试等各种测试
12 CI服务器进行反馈,使相关人员知道构建状态,然后进行修改或继续
CI的Build类型
Build类型 |
用途 |
Continuous/Incremental |
Runs when code is checked in. Does a quick compile and unit test. |
Daily/Nightly |
Does a compile and full suite of unit tests and possibly additional testing such as FitNesse. |
Weekly |
Does a compile, full unit testing, and additional testing such as FitNesse. |
Release |
Creates an install set and then runs and tests the inst all process. |
QA |
Creates a build just for the QA team. |
Staging |
Builds and copies assemblies to a staging server. |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南