gpt4 book ai didi

build-process - 什么是好的 CI 构建过程

转载 作者:行者123 更新时间:2023-12-04 00:18:51 29 4
gpt4 key购买 nike

什么是好的 CI 构建过程?

我们使用 CI,但是当您依赖多个应该部署的服务并且其他应用程序也可能依赖这些服务时,部署到生产甚至是一个现实的 CI 目标。

当从那里自动化到 QA 和手动时,一个好的 CI 构建过程是否足够好?

最佳答案

那么“这取决于”:)

我们使用我们的 CI 系统来:

  • 构建和单元测试
  • 部署到单个盒子,运行集成测试和代码分析
  • 部署到实验室环境
  • 在类似产品的系统中运行验收测试
  • 删除传递到用于生产部署的代码删除的构建

  • 这是针对部署到 20 多台服务器的大约十几个服务和数据库的绿地项目,该项目还依赖于六个其他“外部”服务。

    使用 CI 工具将您的产品部署到生产环境中是一个现实的目标吗?再次......“这取决于”

    你为什么要这样做?
  • 如果你有这个过程,你可以更快更频繁地回滚更改(和回滚)
  • 减少人为错误的机会
  • 您可以在进入生产环境之前在测试环境中测试相同的部署策略并更早发现问题

  • 在回答这个问题之前,您必须解决一些技术问题:
  • 您的系统的正常运行时间要求是什么——您是否允许停机或是否需要 24/7 全天候运行?
  • 您是否有需要人工干预/批准的变更控制流程?
  • 如果部署失败,您的部署是否足以让任何组件回滚到已知良好状态?
  • 您的系统是否设计为在一个或多个组件部署失败的情况下处理不同版本的服务或客户端(并且您已将上述回滚到最后一次已知良好状态)?
  • 该流程是否具有处理部分部署的智能,其中组件无法处理其依赖项/客户端的混合版本?
  • 你如何处理数据库部署/升级?
  • 您是否进行了监控,以便您知道何时出现问题?

  • 以下是最近关于 automation 的几个相关链接和 building the tools you need .

    归根结底,你的系统越复杂,自动化一切就越困难,但这并不意味着它不是一个有值(value)的目标,只是需要更多的努力和意志力来完成它——一切从知道开始你将面临的困难,你必须解决的问题(失败会发生), build 基础设施的政治挑战(与更多的产品功能相比)。

    现在这是一个大 secret ……技术挑战具有挑战性,但并非不可能……政治挑战可能无法克服。无论是开发时间还是购买 3rd 方解决方案,关于这一切的一切都需要花钱。真的,您能构建 1000 美元、10000 美元、100000 美元或 100 万美元的解决方案吗?

    无论您采用哪种解决方案,首先要确保自动化是健壮的,其次才是完整的……即确保您拥有尽可能健壮的解决方案,以便部署到测试环境,而不是部署到生产环境的脆弱解决方案。

    关于build-process - 什么是好的 CI 构建过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102902/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com