问题标签 [blue-green-deployment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 如何在启用了 EF Core 迁移的 Azure 中运行蓝绿色部署
我想运行蓝绿色部署;但是,EF Migrations 似乎阻止了这一点。如果我将版本 1 部署到 Blue 插槽,创建一个 EF 迁移并将版本 2 部署到 Green 插槽,则会发生以下两种情况之一。
场景一:
我将运行迁移,版本 1 将停止工作。这违背了能够在绿色插槽中测试版本 2 而让我们的用户在蓝色插槽中运行版本 1 的目的。
场景二:
在从蓝色插槽切换到绿色插槽之前,我不会运行迁移。这意味着在允许用户访问版本 2 之前,我无法测试绿色插槽(版本 2)。
处理此问题的标准/最佳实践是什么?
node.js - 是否可以将 aws 代码管道转换为 bitbucket 管道?
我想将我的应用程序部署到aws blue-green environment。我可以找到 aws codepipeline 来集成蓝绿环境。但是我找不到bitbucket的任何东西。
amazon-web-services - 使用 ECS 的 AWS 蓝/绿部署,用于从一个 ELB 交换目标组
我有一个 ECS 集群 (example-ecs-cluster) 和一个 EC2 启动类型 ECS 服务 (example-ecs-service)。我正在尝试使用来自 CodeDeploy 的目标组交换构建蓝/绿部署类型,这意味着应首先从测试端口提供新的代码修订版,然后应将其与 prod 端口交换。我创建了一个 ELB 并附加了两个与两个不同目标组相关联的侦听器。一个目标组 (example-target-group) 用于端口 80 的 prod,一个目标组 (example-target-group2) 用于端口 8080 的测试。只有一个任务定义。我可以验证当部署开始时创建了两个不同的任务修订。所以,
我只创建了一个 ECS 服务,example-target-group
因为 CODE_DEPLOY 部署控制器类型服务不支持多个目标组。
aws ecs create-service --cluster example-ecs-cluster --service-name example-ecs-service --task-definition nodejs-hello-world-task-def --desired-count 1 --deployment-controller type= CODE_DEPLOY --launch-type EC2 --load-balancers targetGroupArn=arn:aws:elasticloadbalancing:us-east-1:548754742764:targetgroup/example-target-group/0f9efaeceb63ac61,containerName=nodejs-hello-world,containerPort=8080
我试图通过仅一个运行两个最大任务的 EC2 实例来实现这一点(一个带有新修订版,另一个带有旧修订版)。
使用目标组交换来处理这种情况的首选方法是什么?谢谢!
amazon-web-services - 具有 ECS 蓝/绿部署的 AWS CodePipeline 失败并出现内部错误 | 拿 2
首先,我知道有一个类似的问题(AWS CodePipeline with ECS Blue/Green deployment failed with internal error),但是回答它的人没有提供足够的细节。
根据这个答案:https : //superuser.com/questions/1388058/getting-internal-error-in-aws-code-pipeline-while-deploying-to-ecs ..我已经阅读了aws指南:https: //docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#constraints ... 确保所有“必填”字段都在我的taskdef.json中(如下)
至于我的管道(构建)buildSpec ...
管道 构建阶段设置很简单,我只是将 BuildArtifact 设置为输出。所以我可以从管道 部署阶段引用 imageDetail.json 。
至于我的管道(部署)AppSpec ...
管道 部署阶段设置如下: 输入工件:BuildArtifact、SourceArtifact ;然后:
- Amazon ECS 任务定义:SourceArtifact “taskdef.json”
- AWS CodeDeploy AppSpec 文件:SourceArtifact “taskdef.json”
动态更新任务定义镜像:BuildArtifact
- 任务定义中的占位符文本:IMAGE1_NAME
..和taskdef:
任何帮助将非常感激!
amazon-cloudformation - 为 cloudformation 创建的无服务器应用程序实现实际蓝/绿部署的最佳实践
[背景] 您好,我正在准备使用 cloudformation(aws-sam) 实现无服务器应用程序,并希望将蓝/绿部署应用于生产环境。这个应用程序实际上很小,只有 API 网关、Lambda、S3、Statemachine 和事件(我的意思是里面没有数据库),我们不需要自动化整个部署过程。我将通过在自定义域名中切换基本路径映射来采取从蓝色切换到绿色的方法。
[问题] 我想知道使用蓝/绿方法进行部署的实用方法。我的选择是 -
- 创建完全相同的两个环境,分别命名为 Stack-blue 和 Stack-green。每次部署时,我都会重用/更新旧堆栈和交换机。
- 当我部署时,我总是创建名为 Stack-20191220 的全新堆栈,以部署日期为例。完成所有部署后,删除旧堆栈。
部署的概念是相同的,但您使用的是哪个?(重用或新创建并丢弃旧的。)
amazon-web-services - 在 AWS CodePipeline 中为蓝/绿部署指定 AWS CodeDeploy 目标实例
我正在尝试创建一个 CodePipeline 以使用蓝/绿部署将应用程序部署到 EC2 实例。
我的部署组如下所示:
蓝绿部署-config.json
我可以使用此命令手动创建蓝/绿部署,它有效!:
蓝绿目标实例.json
现在,在我的 CodePipeline 部署阶段,我有这个:
通过命令行使用 CodeDeploy 时,所有 EC2 实例都已正确标记,并且一切都按预期工作,我错过了有关 AWS CodePipeline 在这种情况下如何工作的一些信息。
谢谢
amazon-web-services - S3 静态网站 /w bluegreen 部署
我很难为我的 s3 静态网站提供蓝绿。我在给定的存储桶中发布了网站的一个版本,它在以下位置公开:
- Cloudfront 发行版
- 然后在 53 号公路上
- 还有另一个 CDN(企业,解析 DNS)连接到互联网。
我尝试了一些“计算”解决方案,比如 ALB,但我没有成功。
我遇到的主要困难是当我用新地址更新 CloudFront 时 DNS 复制时间很长,这使得将未来版本回滚到旧版本变得困难(考虑使用不同的存储桶进行发布)。
有没有人经历过这个或知道如何解决这个问题?
amazon-web-services - 使用 Fargate 和 CodeDeploy 的 AWS 蓝绿部署
AWS 可以在负载均衡器下为您的 ECS Fargate 实例进行蓝绿部署。这是通过 AWS CodeDeploy 服务实现的。
但是,在配置 CodeDeploy 时,您会为生产流量提供负载均衡器的侦听器,并为测试流量提供侦听器。无法指定侦听器的路由规则。这意味着当使用蓝绿部署时,我不能为不同的项目重用具有相同侦听器的相同负载均衡器。
这个问题有一些解决方案或解决方法吗?我想在所有项目中只使用一个负载均衡器同时使用蓝绿部署。
continuous-integration - 蓝色/绿色部署中蓝色和绿色颜色的原因
不是技术问题,但我真的很想知道它,我无法在任何地方找到答案。有没有人可以告诉我为什么选择蓝色和绿色作为“蓝/绿部署”的概念。这个问题一直萦绕在我的脑海中,因此我再也无法入睡。