作为软件开发人员,经历从最初的瀑布模型,到后来的敏捷开发,再到今天的DevOps,感受到软件开发模式变化及其带来的好处。
其中 CI 和 CD 起了很重要的地位,它改变了开发人员和测试人员发布软件的方式。那么什么是 CI 和 CD 呢?
持续集成( CI : Continuous Integration ):
持续集成是一种软件开发实践,希望团队中的成员频繁提交代码到代码仓库,且每次提交都能通过自动化测试进行验证,从而使问题尽早暴露和解决。
持续交付( CD : Continuous Delivery ):
持续交付是持续集成的扩展,指的是将通过自动化测试的软件部署到产品环境。持续交付的本质是把每个构建成功的应用更新交付给用户使用。
那么CI和CD 带来的好处是什么?
缓解风险。
持续集成的最大收益是减轻风险。由于延迟了代码集成,团队将不断增加合并冲突的数量和严重性。当团队频繁集成(使用自动构建),他们减轻了潜在风险的数量,因为他们总是知道系统的当前状态。
质量保障
频繁的构建会让团队更早捕获缺陷,方便团队进行定位问题及解决,这使他们能够保证质量。
节约成本。
相比传统开发模式,开发人员只需要关注编码,测试只需要做好测试,运维则不再通宵部署。打包,部署等一系列的事情都交给工具处理。
常用的 CI 工具有哪些?
Jenkins
TeamCity
Travis CI
Go CD
Bamboo
GitLab CI
CircleCI
Codeship
Codefresh
目前小编在项目中使用的 TeamCity ,大家可以根据自己项目的实际情况选择合适的 CI 工具。下一期将详细讲解 TeamCity 的使用方法,欢迎关注。
领取专属 10元无门槛券
私享最新 技术干货