开云足球靠谱吗 散料物流核心装备制造 中国重型机械工业协会会员单位
门式桥式起重机制造A级资质   ISO9001质量体系认证
全国咨询热线:400-106-1109
重钢产品及配套加工

CICD 最佳实践的基本原则

时间: 2023-12-18 14:07:41 作者: 重钢产品及配套加工

  持续集成和持续部署(CI/CD)是许多组织使用的敏捷方法。它正在帮助这些组织有效、安全地发行软件。

  根据 GitLab 2020 DevSecOps 调查,几乎 83%的研发人员表示,他们正在比以前更快、更频繁地发布代码。59%的公司表示他们几乎每天都要发布多次。而是因为采用了 DevOps 方法,并且主要归功于持续集成、自动化测试和持续部署。

  每个组织都试图在建立 CI/CD 流水线时引入自己的方法,最终找到完美的平衡,我们一般将其称为“最佳实践”。本文就来谈一些有效且安全的 CI/CD 流水线可靠性

  在软件开发生命周期中拥有 CI/CD 流水线工具是组织能快速构建和交付应用程序的一大福音,但与此同时,选择正确的 CI/CD 工具也很重要,其应当能够随业务组织发展而扩展,并且运行准确无误。而且,它还应该足够灵活,能处理多种用例和多种软件交付需求。

  使 CI/CD 流水线尽可能快是很重要的。我们所有的自动化测试都运行在开发环境中的 CI 流水线上,而其最终会被部署到生产环境中。因此,涵盖所有边缘情况和潜在的致命失效很重要,同时,我们应该确保所有这些更改不会在我们的代码中造成任何没办法预测的错误。因此,同时保持 CI 流水线简单、快速和安全非常重要。

  随着微服务架构的广泛采用,CI 流水线变得简单明了(不同于单体架构的情形)。但是如果流水线任务繁重,最好移除一些不会产生重大影响的测试,并且记录下这种取舍。我们还应该确定测试的优先顺序。运行较快的测试应首先执行。例如,单元测试比较快,而且是程序功能或模块的基础,因此应当首先执行,然后再进行功能测试和集成测试。这样,我们大家可以尽早发现错误并节约时机。开发者应该在推送代码之前在本地运行测试以尽早发现错误。

  从 CI/CD 流水线的安全性以及确保它类似于预发布环境和生产环境的角度讲,在独立的环境中运行 CI/CD 流水线一直都很重要,这能保证我们的测试结果更加准确。

  我们能够正常的使用 Docker 或其他任何容器化工具来运行我们的测试套件,也可以在 Docker 容器中为我们的应用程序安装其他依赖。这样,我们大家可以确保测试在完全隔离的环境中运行,并且不受底层主机的任何影响。由于我们的 CI/CD 平台可以完全访问我们的代码仓库,因此大多数组织也习惯于在自己的云平台基础设施中部署 CI/CD 工具以确保安全。

  许多组织迈出了更大一步,他们还在隔离环境中渲染和测试 UI 组件。在将它们作为独立的构建块交付并集成到一个或多个项目中之前,此过程是一种验证它们确实独立的方法(这通常使用 Bit(Github)完成)

  建议从始至终保持预发布环境和生产环境等价,以避免运行测试时发生意外错误导致发布暂停这种小概率事件。我们的 CI/CD 流水线首先经过运行测试和在预发布环境中部署的阶段。测试后,该应用会自动升级(或手动部署)到生产环境。

  使开发和测试环境完全等价于生产环境十分艰难,但我们大家可以在需要时做出决定保持他们尽可能相似,并且了解我们正在做出的取舍。大多数组织还使用“蓝绿部署”或“金丝雀发布”的部署策略,在该策略中,我们第一步在生产环境中部署应用并处理大约 1% 的流量。然后将流量提高到 100%,或者也可以较为轻松的回滚到之前的版本。

  所有 CI/CD 工具都不相同,每个组织都尽可能以最有效和便捷的方式利用 CI/CD。但以上是一些最佳实践,任何一个人都应注意并遵循这些最佳实践,以避免将来出现一些明显的异常问题。每个组织都应授权并仅通过 CI/CD 流水线来发布软件,以提高代码质量和组织的编码规范。

  与董宇辉合体直播,俞敏洪表态:未来要给他公司话语权!罗永浩评价:观感很差,又是个昏招

  杨瀚森29+11+7青岛加时险胜吉林,5人被罚下,王睿泽36分新高,皮特森46+7

  商汤科技创始人汤晓鸥离世,所持20.63%股份动向受关注,业内人士:禁售期应无变化

  续航超1400km 奇瑞风云T9将于12月28日下线更多信息曝光:溜背式轿跑风格

  教育专家冯恩洪:中国人从0到1不行,从1到99人才辈出,根源出在课堂里