git - 尝试使用 aws 命令获取部署组下的 ec2 实例列表

标签 git amazon-web-services aws-code-deploy

  • 我在 Codedeploy 下创建了一个虚拟应用程序,然后创建了一个部署组并在其下添加了一个 EC2 实例。

  • 我还没有做任何部署。

  • 我正在尝试找到合适的 aws 命令,它可以让我获得部署组下的 EC2 实例列表。查看 this list 中给出的命令,我检查了一些像 list-deployment-instances。都有这个参数deployment-id,也就是-

The unique ID of a deployment.

我猜这是在部署之后生成的。如果我错了,请纠正我。 无论如何,我还没有找到任何命令给我一个部署组下的 ec2 实例列表。 我错过了什么吗?

背景

  • 我们在负载均衡器后面有多个 EC2 实例,在生产环境中运行,其中一些可能需要使用不同的 git 分支进行部署(为了测试某些功能,在所有实例上推出之前,这可能需要在整个过程中保留后续部署)。
  • 我们的 DevOps 团队尚未使用自动缩放功能。因此,他们手动启动或减少实例。
  • 在下一次部署期间,我们需要将适当的 git 分支部署到实例组,具体取决于它们当前所在的 git 分支。因此,在此之前,我们想使用一个脚本来更新部署组,该脚本将通过检查部署在每个实例中的 git 修订版来完成。

更新 - 开放赏金

我们正在尝试在启动部署之前添加完整性检查,以查看当前在部署组下的可访问实例总数(框有时会下降)是否少于我们上次检查时的数量,如果是的话什么 margin ?

原题想的是直接找部署组下的实例,现在发现部署组下的实例可能不固定,现在想找部署组下的标签,然后找到带有这些标签的实例。我可以将针对每个部署组的计数存储在一个文件中,并在下次使用它进行比较。但是,我找不到任何 AWS CLI 命令来查找具有给定标签的实例。我想这样的东西应该可用,因为代码部署仪表板允许这样做。

注意 - 我知道如果某些实例无法访问,那么部署的最终结果将显示为成功,失败的实例可以从 AWS Code 部署控制面板中找到。但是,我仍然想知道是否可以通过任何 SDK 使用一些 AWS CLI 命令或一些 API,使用它们我可以找到部署组下可访问实例的数量

最佳答案

正如您所注意到的,没有简单的方法来确定仅从部署组名称运行的实例。我仔细检查了 CLI,您需要部署组 ID 来引用当前部署到的实例。

您不必获取要部署到的实例列表。这是由每个部署组中指定的实例标准完成的。专注于正确标记实例,以便 CodeDeploy 自动列出您想要的实例!

您应该让每个部署组都使用适当的标签 EG Environment=Testing; GitBranch=ResizeQueue。这可以从 AWS 控制台或 AutoScaling 组完成,这样所有启动实例都具有有效标签。

然后在部署组中,实例由该组标记识别,并且可以使用该规范进行部署。您只能将分支更新部署到这些实例。

关于git - 尝试使用 aws 命令获取部署组下的 ec2 实例列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37393315/

相关文章:

git - 使用 Git push 部署项目

ios - Xcode 7 无法与源代码管理正常工作

hadoop - Hadoop和Amazon EMR/S3中每个文件的单独输出

amazon-web-services - AWS弹性转码器——Gif输出量很大

python - 是否可以在 AWS CDK 构造上添加多个标签?

amazon-web-services - AWS CodeDeploy 在 Auto Scaling 用户数据脚本完成之前执行

git - 请求的 URL 返回错误 : 403 Forbidden while accessing github. com

git - 如何 merge 子文件夹中的 git 存储库而不丢失分支和标签?

Golang 的 Github Oauth token

amazon-web-services - CodeDeploy 错误无法分配内存 - su