关于ci-cd:如何扩展及优化CICD流水线
现在应用程序的开发通常由多个开发人员组成的团队实现。每个人或团队在我的项目中施展本人的作用,而后咱们发现在我的项目的开端总是有几段代码须要编译,依据每个人的工作办法,治理这种集成可能会节约很多工夫。继续集成和继续交付/部署(CI/CD)便用来解决该问题,确保公布更新顺利进行,防止不必要的提早和抵触。 因而为利用程序开发和施行 CI/CD 工作流程越来越广泛,与此同时,施行 CI/CD 时也面临许多挑战。在明天的文章中咱们将一起探讨这些挑战具体是什么,以及咱们该当如何对 CI/CD 进行扩大和优化。 CI/CD 流程中的挑战CI/CD 过程迟缓速度是任何 CI/CD 过程的重要因素之一。如果您的 CI 服务器和部署须要半小时能力实现该过程,并且您有多个团队,每个团队打算每天部署几次,那么您的 CI/CD 流水线的确会被阻塞。开发人员必须在队列中期待 CI/CD 可用。一些企业限度了能够在给定工夫运行的流水线,但这样仍旧无奈无效提供古代企业所需的疾速公布。 设置新流水线很简单当今 CI/CD 流水线应用的基础设施简单且难以设置。大多数新应用程序都应用微服务,这会频繁触发新的 CI/CD 流水线启动。然而当您扩大现有的 CI/CD 基础架构时,必须解决与云基础架构相干的许多简单问题。如果流水线和基础设施治理不是自动化的,这将节约许多工夫在为新流水线配置基础设施和配置上。 单个 CI 服务器产生阻塞在基于微服务的应用程序部署中,CI 服务器是安稳公布工作流程的关键点。如前所述,微服务疾速触发 CI 服务器,CI 服务器因为申请过多而阻塞是很常见的。您能够垂直扩大 CI 服务器,这将临时解决问题,但最终您将须要创立多个具备独立职责的 CI 服务器。即便是一个整体但一直增长的应用程序也会在冲刺完结时阻塞你的 CI 服务器,因为在最初一分钟有太多的代码更改,并且均匀每 30 分钟就会有不同的开发人员进行部署。 扩大 CI/CD当微服务数量减少时,对 CI/CD 进行扩大是不可避免的。微服务数量的减少导致不同的流水线连贯到单个 git 存储库,这减少了 CI 服务器的负载并升高了性能。要扩大 CI/CD,为所有团队创立一个标准化和自动化的开发流水线,确保开发人员交付和团队交付的品质,同时还让流水线的治理变得容易。 能够通过定义用于执行单元测试和验证交付代码品质的CI 流程来实现扩大,随后是用于构建镜像并将它们继续部署到环境中的 CD 过程,最初定义用于构建镜像并将它们部署到生产环境中的过程。接下来咱们将按步骤来解说如何对 CI/CD 进行扩大。 扩大 CI/CD 的步骤流水线遵循 Git 分支到环境的映射(开发 ➡️ 开发和主控 ➡️ 批准和生产)。而后在每次拉取申请时触发 CI 作业,在映射分支中的每次更改时触发 CD 作业。能够依照以下步骤来创立 CI 和 CD 工作流。 ...