前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何实施有效的CI/CD流水线

如何实施有效的CI/CD流水线

作者头像
DevOps云学堂
发布2020-02-11 13:19:56
1.4K0
发布2020-02-11 13:19:56
举报
文章被收录于专栏:DevOps持续集成DevOps持续集成

文章翻译自:https://devops.com/how-to-implement-an-effective-ci-cd-pipeline/ 如有不足 多谢反馈!

DevOps有效地结合了开发,运营和IT服务团队之间的鸿沟。为了培养DevOps文化,使用正确的DevOps流程实施正确的DevOps工具至关重要。持续集成/持续交付/持续部署(CI / CD / CD)帮助开发人员和测试人员在结构化环境中更快,更安全地发布软件。

与传统软件生命周期不同,CI/CD实施过程每周或每天更新一次,而不是每月或每季度更新一次。有趣的是,客户甚至不会意识到更新是实时发生的。

1.关于CI / CD / CD术语的简要介绍

持续集成: CI是开发人员每天多次将新代码集成到制品库中的过程。这是比传统方法更好的方法,在传统方法中,开发人员将隔离构建新代码,然后在项目生命周期结束时将其集成到主存储库中。主要目标是在初始阶段检测到任何集成错误,以便可以迅速对其进行纠正。每当新代码与现有主存储库合并时,它将触发新的构建。针对这些新版本执行测试运行以检查是否有破损。

持续交付: CD确保自动执行软件交付过程,并保障将集成代码交付到生产阶段,而不会造成任何错误或延迟。DevOps实施过程中的CD 可帮助开发人员一致地将新代码与主分支合并,以便他们可以构建即时软件就绪的产品。它负责检查代码的质量,并执行测试以检查它是否可以将功能构建释放到生产环境中。

持续部署:自动化的最关键部分发生在交付管道的此阶段。只要代码中有重要更改,相应的构建和部署就会同时发生。它是通过连续部署过程实现的,该过程允许对通过CI阶段的每个代码修改执行实时部署更改。在此阶段,从初始代码开始直到代码进入生产阶段,都无需进行人工干预。

2.实施CI / CD的好处

任何软件应用程序的最终目标是比以往更快地到达其潜在客户。这正是CI / CD管道向利用软件过程的任何业务模型提供的功能,该过程可降低每次构建中的风险并帮助最终产品更快地到达客户。

通过CI工具获得更快的反馈:对于每个提交的代码,将同时运行相应的测试,以避免在以后的阶段出现任何链接断开的情况。更快的反馈有助于检查代码的质量和影响。

更高的可视性:通过CI / CD管道设置,可以分析新版本的整个过程,测试结果以及新版本的任何问题。这种透明性使开发人员可以知道构建中的哪些更改影响了业务,并避免了将来发生此类变化。

尽早错误检测:进行各种类型的自动化测试可以在早期发现任何错误问题,而不会产生任何最后的惊喜。这些自动化测试以及很少的手动测试运行,有助于解决可能出现的任何问题。

3.CI / CD管道实施的不同阶段

为了充分利用现代DevOps环境的优势,着手实施可扩展的CI / CD DevOps实现非常重要。它为为您的业务构建敏捷的DevOps奠定了坚实的基础。

提交阶段(commit):在这个阶段会将新特性或者新的代码集成,质量平台帮助获得代码质量检查反馈,CICD工具将帮助执行一系列的单元测试和其他有效的测试。例如:Jenkins提供了各种工具和界面,可帮助自动完成整个软件周期。

构建阶段(build):首先代码已经集成并测试通过,接下来此阶段完成构建打包。在这个阶段会将开发人员生成的制品上传到制品仓库。例如:docker工具用于创建服务器并将工件部署到注册表中,以便可以进行测试。

测试阶段(test):alpha 和 beta部署在此测试阶段进行,开发人员可以在Alpha部署中检查其新版本的性能以及这些版本之间的相互作用。在beta部署阶段,将进行手动测试,这将在移入生产之前再次检查应用程序是否正常运行。

生产发布(production deployment):这是应用程序上线的第四个也是最后一个阶段,一旦构建成功通过了所有测试方案,就可以将其部署到生产阶段以供最终用户使用。

4.CI / CD流程工具

可靠的工具帮助自动执行成功的CI / CD管道并确保更快地交付软件。

开源工具或专有工具:根据预算和客户的需求,企业可以选择诸如Jenkins之类的开源工具来自动化CI / CD流程。

云或自托管服务:要自托管您的CI / CD应用程序,Jenkins和Cruise Control等工具可帮助您有效地设置,配置和监视应用程序。否则,您可以让SaaS提供程序托管在云服务上。

构建状态:选择一种工具,该工具通过适当的通知,电子邮件或其他类型的通信来包含整个过程的透明性和可见性。


5.总结

在这个更快的软件交付和快速构建快速发布的时代,采用更健壮的项目周期来加快交付流程至关重要。实施DevOps服务是通过CI / CD流程在跨职能团队之间进行有效协作的最佳途径。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档