赞
踩
IT 企业中CI/CD的应用愈加广泛,成为推动软件研发活动的重要基础设施服务,同时推动 DevOps 模式的实际落地。一般传统或者狭义、普遍的 CI/CD,是指持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)。而更加广义、全面的理解,是指持续集成(Continuous Integration,CI)、持续测试(Continuous Testing,CT)、持续交付(Continuous Delivery,CD)和持续部署(Continuous Deployment,CD)四个方面。
持续集成是指每日频繁地(比如一天多次)将代码集成到主干分支中。强调通过集成和测试的速度,快速给出一个集成的结果(是失败还是成功),在代码集成之前,必须先通过自动化测试验证,只要有一个测试用例失败,就不能集成。
敏捷开发的核心是指整个软件开发活动被划分成一系列短的迭代过程,每个迭代完成一定数量的功能,迭代周期应该尽量短。在软件开发需求已经确定的情况下,迭代应该由测试驱动开发(TDD)和集成反馈来驱动。只有这样,才能为质量持续改进奠定一个良好的基础。
持续集成是和单元测试结合在一起的,也就意味着,持续集成和单元测试需要并行工作。持续集成一般由代码每次 git push/review 触发。先签入代码就先看到构建结果,后签入,则要排在后面。这就要求构建时间不能太长,否则在构建时容易引起混乱,很难知道是谁的代码破坏了集成,导致很难定位问题。
持续集成的工作阶段比较明确,主要有三个大的阶段:持续集成准备阶段、持续集成使用阶段和持续集成测试阶段。
1)持续集成准备阶段的工作主要包括:
2)持续集成使用阶段的工作主要包括:
3)持续集成测试阶段的工作主要是,CI 系统根据集成结果进行不同操作,如果成功,则将代码合并到主分支;如果失败,则反馈给开发人员修改重新提交。
从中我们可以看到,持续集成涉及的主要工具类别包括:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。