云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

_会声会影素材百度云_返利

小七 141 0

如何:使用CloudBees Flow进行蓝/绿部署

CloudBees Flow旨在使团队能够简化和简化DevOps流程,从最普通的自动化工作流到最复杂和大规模的场景。作为其中的一部分,我们已经开始对软件发布中最棘手的部分之一进行彻底的变革:部署。CloudBees Flow旨在使这一过程尽可能变得枯燥、可重复和一键式,它拥有业界最强大的部署自动化功能集,提供多种现成的方法来部署旨在承受压力、猜测工作和复杂的一次性应用程序,这些包括部署选项,如智能部署、分段工件、自动错误处理或进程分支,以及高级部署策略和部署策略,如滚动部署、蓝/绿、金丝雀和暗启动。在这个博客系列中,我为每个部署模式提供了一个逐步的教程,您可以使用我们的免费社区版为您自己的应用程序版本实现这些模式!在我的上一篇文章中,我描述了您可能希望使用这些高级部署策略来最小化风险的一些用例,并提供了在cloudbeesflow中设置滚动部署的说明。本周,我将重点介绍另一种部署策略:蓝色/绿色部署。什么是蓝/绿部署此部署策略通过运行两个完全相同的生产环境(称为蓝色和绿色)来减少停机时间和风险。滚动部署和蓝/绿部署之间的关键区别在于有两个物理上独立的环境。在任何给定的时间,这些环境中只有一个是"活动的",服务于所有的生产流量。假设目前的生产环境是绿色的。我们将启动它的一个副本-蓝色环境-并在其上部署应用程序的新版本,该应用程序目前不提供实时流量。一旦部署在Blue上的版本经过了彻底的测试和验证,并且我们看到它是稳定的,并且应用程序运行正常,那么所有最终用户的生产流量都将转移到该环境中,该环境现在是实时的。切换后,绿色环境将变为非活动状态,可以停用,也可以用于部署需要测试的下一个版本。然后,当我们准备好在生产中进行切换时,这个过程再次重复。蓝/绿部署策略当使用云环境时,蓝/绿部署策略尤其引人注目,在云环境中,资源可以根据需要动态启动/停用。这与本地数据中心或物理硬件不同,在这些地方,您将需要为复制的环境过度调配和保留硬件,即使在它空闲时也是如此。蓝/绿战略在有利的情况下也很有用——有些组织甚至从管理法规的角度来看是强制性的——为灾难恢复维护一个单独的镜像环境。虽然蓝色/绿色部署使从意外部署错误中恢复变得更简单,因为有两个独立的环境,但由于环境重复,它确实带来了更高的资源成本。这可能使其不太适用于超大的生产环境/占地面积。如何在CloudBees Flow中设置蓝色/绿色部署:CloudBees Flow允许您以多种方式建模和触发蓝/绿部署,具体取决于您的流程和环境设置。在本教程中,我们将介绍最直接的选项:在产品的GUI中创建单独的蓝色和绿色环境。我们创建的独立环境在各个方面都是相同的,并且每个环境都是独立建模和设置的。环境可以在部署之前创建(如果它们使用静态资源),也可以在部署运行时使用环境模板动态创建。将Blue和Green建模为单独的环境还允许我们独立地跟踪组件清单,这样用户就可以随时知道在任何给定的时间部署到Blue和Green环境中的是什么。一旦定义了Blue和Green的环境模型,我们将它们映射到应用程序,然后可以执行Blue/Green部署过程,就像CloudBees Flow中的任何其他部署一样。在下面的示例中,我们使用Blue/Green部署将电子商务站点的"购物车"应用程序部署到生产环境中。当前的部署过程要求在将应用程序部署到生产环境(在生产环境中使用蓝/绿策略)之前,应用程序必须在Dev和QA环境中进行测试。以下是为该用例建模蓝/绿部署的步骤:创建四个环境将环境映射到应用程序创建包含三个阶段的管道为生产阶段创建三个任务运行管道1创建四个环境(DEV、QA、BLUE和GREEN)创建名为DEV、QA、BLUE和GREEN的四个环境。为您的环境建模注意:DEV、QA、BLUE和GREEN是本用例中环境的名称。你可以使用任何你想要的名字,只要他们清楚地映射到蓝色和绿色。2将环境映射到ShoppingCart应用程序选择ShoppingCart应用程序(在产品中植入种子),然后将应用程序层映射到DEV、QA、BLUE和GREEN中对应的环境层。将应用程序层映射到环境3创建三级管道创建一个包含三个阶段的管道,分别命名为DEV、QA和PROD。创建一个包含三个阶段的管道,分别命名为DEV、QA和PROD。4为生产阶段创建三个任务在PROD阶段,创建三个任务,详细信息如下(任务名称为粗体):DeployShoppingCart—这是另一个流程任务,类似于环境名称参数化的DEV和QA阶段中的任务。系统将自动在蓝色和绿色环境之间切换部署。CertifyDeployment—这是一个手动步骤,用于检查和验证部署。completePostCertificationTasks—这是一个自动化任务,用于运行任何认证后任务,例如更新负载平衡器和切换环境以准备下一次管道运行(例如,更新TargetEnv参数)生产阶段的流水线任务5运行管道在蓝色/绿色部署中,在运行管道之前,绿色环境为所有生产流量提供服务,并且蓝色环境已准备好升级到新的软件版本。在开始部署之前,请将项目上的RollingDeploy/TargetEnv属性设置为要部署到的第一个环境。RollingDeploy/TargetEnv将被设置为蓝色,因为绿色环境目前正在满足最终用户流量的需求。管道启动时:管道将从开发阶段开始,一直到生产阶段。一旦部署达到PROD阶段,应用程序进程任务将基于属性值$部署到蓝色环境,该属性值在运行开始时被设置为蓝色。部署任务完成后,有一个手动步骤来对部署。如果有必要进行一些自动化测试,这些任务可以很容易地添加到流水线阶段。部署成功完成后,将用户流量切换到蓝色服务器,并将RollingDeploy/TargetEnv属性更新为绿色。将属性值设置为绿色将确保下一次部署将发生在绿色环境中,而蓝色环境将服务于生产流量。就这么简单!