问题标签 [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.

0 投票
1 回答
1957 浏览

cloud-foundry - “cf push”是如何工作的?

应用于cf push现有Running应用程序,停止并使用新工件启动应用程序实例。

此应用程序已分配路线名称。


1)为了评估银行应用程序的停机时间,cf push从停止现有应用程序实例到启动新应用程序实例所涉及的步骤是什么?

2) 蓝绿部署是否会减少停机时间?

0 投票
0 回答
132 浏览

windows - IIS 蓝/绿部署错误的站点在重新启动后启动

我们设置我们的 IIS 站点以适应蓝/绿部署。我们注意到重新启动后错误的站点启动了。

设置:

app.blue app.green app.entry

app.entry站点上,我们有一个重写规则,将流量转发到app.blueapp.green取决于哪个是活动站点。这一切都按预期工作并且已经有相当长的一段时间了。

最近,由于 Windows 更新,服务器在非生产时间重新启动。重新启动后,我们注意到启动了错误的 IIS 站点。因此,例如 app.blue 是活动站点,并且重写规则指向app.blueapp.entry规则。重启后,app.green启动,但显然进入规则指向蓝色。

我们正在使用IIS Admin API来管理站点交换和更新重写规则。似乎很奇怪的是,开始的站点被设置为以前的蓝/绿站点。在上面的示例中,app.green是以前的站点,因此在重新启动后它会重新启动并app.blue停止。

我能想到的解决此问题的唯一选择是在重新启动后运行任务以检查重写规则并启动/停止正确的站点。

0 投票
0 回答
581 浏览

amazon-ec2 - 使用 CodeDeploy 的 ECS 蓝/绿部署 - 自动扩展实例数

我正在使用 ECS(在 EC2 上)和由 AWS CodeDeploy 提供支持的蓝/绿部署。

创建新任务定义并更新服务以使用它后,AWS CodeDeploy 上的新部署开始。但是,由于此错误,新任务无法在我的服务上运行: service my-service-dev was unable to place a task because no container instance met all of its requirements...

我了解集群当前使用的实例无法运行新任务。如果我手动添加新实例,通过增加集群的自动扩展组中的最小容量,则部署成功。

我想知道是否有办法让这种情况自动发生。增加最大容量(在同一个地方)似乎没有帮助。

0 投票
0 回答
127 浏览

node.js - 如何通过 Cloud Foundry 部署“正确”减少停机时间?

我正在使用蓝绿部署来减少 Cloud Foundry 应用程序 (NodeJS) 的部署停机时间。我正在为 Cloud Foundry 命令行界面 (cf CLI) ( https://github.com/bluemixgaragelondon/cf-blue-green-deploy ) 使用 BlueGreenDeploy 插件,并且我的应用程序正在为使用 PM2 集群模式的单个实例运行多个进程。

一切正常,但我想知道是否有一些“最佳实践”或我做错的事情。

例如:如果我在推送我的应用程序之前手动将我的应用程序缩减到只有 1 个实例,这是否有帮助?应用程序实例在清单文件中指定,因此管理扩展过程的是 CF 本身。

提前感谢所有帮助我的人。

0 投票
0 回答
330 浏览

git - 如何使用 AWS Code Deploy 和 AWS Code Pipeline 一次部署多个 git 存储库?

我有 3 个不同的存储库必须部署(部署类型为蓝/绿)到同一个自动缩放组。我创建了 3 个不同的代码管道和一个部署组。

这里的问题是蓝/绿部署将使用启动模板中提供的 AMI-id 创建新的自动缩放组,因此实例中一次只有一个分支。

因为 Web 应用程序需要所有 3 个 repos 代码才能运行。因为我不想为所有 3 个存储库创建新的自动缩放组。我想过这样做:

虚拟分支 A:

项目
名称 - Repo1Project
- Repo2Project
- Repo3Project
- appspec.yml
- attach-target-group-to-alb.sh

在 appspec.yml 中:

使用以下命令更新每个文件夹:

仅将特定文件/文件夹从其他分支合并到当前

git checkout Repo1ProjectBranch 项目名称/Repo1Project

git commit -m "你的评论"

然后将其推送到实际的 BranchB

但我不确定这是否是有效的方法,或者还有其他更好的解决方案。因此,如果有人已经找到更好的解决方案,请考虑将其发布在这里。

0 投票
2 回答
1505 浏览

amazon-iam - CodePipeline ECS 蓝/绿部署跨账户失败并出现 PermissionError

我正在尝试使用 ECS 蓝/绿部署设置 CodePipeline,其中部署位于不同的 AWS 账户中。

我一直在使用 ECS Blue/Green 和 CodePipeline 跨账户部署的两个指南。CodePipeline 与其 KMS 密钥、S3 工件存储桶和 ECR 存储库一起存在于账户 A 中。ECS 集群位于具有 CodeDeploy 设置的账户 B 中。

ECR、KMS 密钥和 S3 存储桶具有跨账户权限(错误时会出现不同的错误)。集群启动并运行,CodeDeploy 在账户 B 内调用时正常工作。

已在账户 B 中创建了一个角色供 CodePipeline 代入,并且它已授予账户 A 代入该角色的权限。此角色当前具有 AWSCodeDeployRoleForECS 策略(我打算在它起作用后减少它)

CodePipeline 失败并显示无用的消息

0 投票
1 回答
29 浏览

dynamic - 使用 istio 根据流量的错误响应将流量分流到两个版本

我正在尝试学习 istio。我能够设置一个简单的流量转移,其中 40% 的流量转到特定版本,其余 60% 转到其他版本。我的疑问是我可以根据这个重量(40-60)动态

  1. 两个版本的错误响应百分比。错误响应较少的版本面临更多的流量,最终达到 100%。
  2. 或者至少,随时间变化,例如每小时 2% 的班次。

另外,这是否需要我一次又一次地做 kubectl apply 。

0 投票
1 回答
378 浏览

amazon-web-services - 如何为 AWS Step Functions 进行蓝绿部署

我正在使用 AWS 步进函数,并且对状态机和活动工作者进行了一些更改。活动代码更改不向后兼容。此外,活动代码部署在我的主机中(未托管在 AWS Lambda 中)。

我在网上看到了一些遵循蓝绿部署的示例:https ://theburningmonk.com/2019/08/how-to-do-blue-green-deployment-for-step-functions/

但是我没有使用 AWS Lambda,那么我可以通过哪些方式来部署不向后兼容的更改。当活动托管在非 AWS 主机中时,如何在 aws 步骤函数中进行蓝绿色部署。

0 投票
1 回答
7804 浏览

kubernetes - 带有 Helm 图表的蓝绿色部署

我们可以使用“Helm Charts”部署应用程序

我们使用冷“滚动升级”部署,

有没有办法使用“Helm Charts”来实现“蓝/绿”部署?

0 投票
1 回答
2116 浏览

amazon-web-services - 如何在 ECR 源管道中向 CodeDeploy 提供 AppSpec 和任务定义

我想在 ECR 映像更新时触发蓝/绿 ECS 部署。部署阶段需要三个输入工件imageDetail.jsonappspec.jsontaskdef.json

在创建管道时,我选择 ECR 存储库作为源,这会创建一个imageDetail.jsonSourceArtifact,这一点很清楚。稍后在构建阶段,我可以将其放入输出工件中。

我完全想念的是如何提供剩下的两个文件?我应该在构建阶段定义中内联它们buildspec.yaml(它们很大而且内联看起来很乏味)还是以某种方式从 CodeCommit 中获取它们(到目前为止,我认为我可以做到这一点而不必仅为该目的设置 CodeCommit)?

提供这些文件的通常做法是什么?