什么是CI/CD

CI:
持续集成(CONTINUOUS INTEGRATION)
在持续集成环境中,开发人员将会频繁的提交代码到主干。这些新提交在最终合并到主线以前,都须要经过编译和自动化测试流进行验证。这样作是基于以前持续集成过程当中很重视自动化测试验证结果,以保障全部的提交在合并主线以后的质量问题,对可能出现的一些问题进行预警。安全

持续集成(CI)是一种软件开发实践,开发人员常常在其中进行代码更改并将其添加到中央存储库中,而后再运行自动化测试。CI是软件发布过程的集成阶段,它取决于自动化和持续集成。主要目标是发现错误并迅速解决问题,以提升软件质量并缩短产品上市时间。服务器

在持续集成中,开发人员一天要专一于较小的提交。开发人员将代码从存储库中拉出,而后再将其推送到构建服务器,构建服务器将在其中运行各类测试以验证代码提交。session


CD:(1)
持续交付(CONTINUOUS DELIVERY)
持续交付就是讲咱们的应用发布出去的过程。这个过程能够确保咱们尽量快的实现交付。这就意味着除了自动化测试,咱们还须要有自动化的发布流,以及经过一个按键就能够随时随地实现应用的部署上线。
经过持续交付,您能够决定天天,每周,每两周发布一次,这彻底能够根据本身的业务进行设置。
可是,若是您真的但愿体验持续交付的优点,就须要先进行小批量发布,尽快部署到生产线,以便在出现问题时方便进行故障排除。
持续交付是一种软件开发实践,可确保更快,更稳定地发布代码更改。这样,更改将自动生成,测试并为生产发布作好准备。构建阶段完成后,将代码更改部署到测试环境或生产环境。当实现连续交付时,开发人员始终具备已经过标准测试过程的可部署的构建工件。在连续开发中,代码会自动对生产环境进行修订,从而能够在开发周期的早期提供连续的反馈循环。架构


CD:(2)
持续部署(CONTINUOUS DEPLOYMENT)
若是咱们想更加深刻一步的话,就是持续部署了。经过这个方式,任何修改经过了全部已有的工做流就会直接和客户见面。没有人为干预(没有一键部署按钮),只有当一个修改在工做流中构建失败才能阻止它部署到产品线。
持续部署是一个很优秀的方式,能够加速与客户的反馈循环,可是会给团队带来压力,由于再也不有“发布日”了。开发人员能够专一于构建软件,他们看到他们的修改在他们完成工做后几分钟就上线了。基本上,当开发人员在主分支中合并一个提交时,这个分支将被构建、测试,若是一切顺利,则部署到生产环境中。
连续部署有点相似于连续交付,但又朝着过程自动化迈进了一步。贯穿全部生产阶段的变动将直接发布给客户,而无需任何人工干预。持续部署会加速反馈循环,由于只有失败的测试才能阻止更改部署到生产中。
什么是CI/CDide


CI/CD的好处
一、提升开发人员生产力
CI / CD实践使开发人员从手动任务中解脱出来,处理复杂的依赖项,并将精力集中在提供新功能上,从而提升了团队的生产力。开发人员能够将精力集中在提供所需功能的编码逻辑上,而没必要将其代码与业务的其余部分集成并花费时间在如何将此代码部署到平台上。 测试

二、自动化软件发布流程
连续交付为您的团队提供了一种方法,用于检入已自动构建,测试并为发布到生产环境而准备的代码,从而使软件交付高效,有弹性,快速且安全。 ui

三、提升代码质量
CD能够帮助您在交付过程当中尽早发现并解决错误,而后再将它们变成更大的问题。您的团队能够轻松执行其余类型的代码测试,由于整个过程已经自动化。经过更频繁地进行更多测试的原则,团队能够更快地迭代,并当即得到有关变动影响的反馈。这使团队可以以高度的稳定性和安全性来驱动质量代码。开发人员将经过即时反馈了解新代码是否有效以及是否引入了任何重大更改或错误。在开发过程当中尽早发现的错误最容易解决。 编码

四、更快地提供更新
CD可帮助您的团队快速,频繁地向客户提供更新。当实施CI / CD时,整个团队的速度,包括发布功能和错误修复的速度都会提升。企业能够更快地响应市场变化,安全挑战,客户需求和成本压力。例如,若是须要新的安全功能,您的团队能够实施CI / CD并进行自动测试,以高度自信地将修复程序快速可靠地引入生产系统。过去须要花费数周甚至数月的时间,如今能够在几天甚至几小时内完成。.net


持续集成和持续交付是组织的应用程序开发团队的理想解决方案。开发人员只须要将代码推送到存储库便可。该代码将被集成,测试,部署,再次测试,与基础架构合并,通过安全和质量审查,并准备以极高的信心进行部署。一个CI / CD管道有助于提升代码质量和软件更新快速传递。

参考连接:http://www.javashuo.com/article/p-hjaxkkrj-cd.html
DevOps持续集成code

相关文章
相关标签/搜索