AWS自动部署工具codedeploy如何部署

61次阅读
没有评论

共计 2862 个字符,预计需要花费 8 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 AWS 自动部署工具 codedeploy 如何部署,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1)在 AWS lambda 平台上部署:

三大部分:要部署的内容 —   部署的配置 — 更新的 lambda 函数版本

部署的流程:上传修订的应用程序 – 创建一个应用程序 – 指定部署组 – 指定部署的配置 – 指定一个 appspec 文件 – 进行部署 – 检查部署结果 – 如果出现问题再根据需要重新部署。

2)在 AWS ECS 平台上的部署:

部署前提:

在创建 codedeploy 部署组时,必须指定包含 ECS 服务的 ECS 集群;

codedeploy 必须已经启用 ECS 服务,默认情况下,ECS 部署已启用 ECS 服务,当创建部署组时需要选择部署 ECS 集群的 ECS 服务;

在要随 ECS 部署一起更新的 ECS 服务必须使用 ELB,可以使用 应用程序负载均衡器 或 Network Load Balancer。官方建议使用 应用程序负载均衡器,以便可以利用动态端口映射和基于路径的路由和优先级规则等功能。在创建 CodeDeploy 应用程序的部署组时,需要指定负载均衡器;

在创建部署组时,您需要指定一个或两个侦听器,侦听器是负载均衡器将流量定向到目标组的。(如果使用 ECS 控制台创建 ECS 服务,系统创建侦听器)

一个 ECS 部署需要 2 个目标组,一个用于 ECS 程序的原始任务集,一个用于 ECS 程序的替换任务集。在部署过程中,codedeploy 会创建一个替换的任务集,并将流量替换到新的任务集,在创建部署组时需要指定目标组。(在部署期间,CodeDeploy 会确定哪个目标组与   ECS 服务中状态为  PRIMARY(这是原始任务集)的任务集关联,并将一个目标组与其关联,然后将另一个目标组与替换任务集关联。如果执行其他部署,则与当前部署的原始任务集关联的目标组将与下一个部署的替换任务集关联)。

需要在 CodeDeploy 应用程序的 AppSpec file 中指定任务定义的 ARN(运行包含 ECS 应用程序的 Docker 容器需要任务定义);

需要在 codedeploy 应用程序的 appspec file 中指定容器的名称,appapec file 中指定的容器必须是 ECS 任务定义的之一。(Docker  容器   包含您的软件应用程序需要运行的所有内容。负载均衡器将流量定向到 Amazon ECS 应用程序任务集中的容器);

在 ECS 部署期间,负载均衡器会将流量定向到您 CodeDeploy 应用程序的 AppSpec file 所指定容器上的端口,需要在 CodeDeploy 应用程序的 AppSpec file 中指定端口。

部署组件:要部署的内容 —   部署的配置  — ECS 的替换任务集

部署工作流程:创建一个 ECS 部署,并将部署控制器设置为 codedeploy– 创建一个 codedeploy 应用程序 – 创建一个部署组 – 指定一个 APPspec file– 部署 – 检查部署结果 – 出现问题再回到部署环节

3)EC2 或本地计算平台上的部署

部署组件:要部署的内容 –   部署的配置 — 部署组和缩放组

主要的部署工作流程:创建一个应用程序 – 指定部署组 – 指定部署的配置 – 更新需要部署的内容 – 部署 – 检查部署 – 出现问题再回到部署环节

步骤详解:

1. 通过指定唯一表示您要部署的应用程序修订和表示应用程序的计算平台的名称来创建应用程序;

2. 设置部署组时,要指定部署类型和要部署应用程序修订的实例。就地部署将使用最新的应用程序修订更新实例。蓝 / 绿部署向负载均衡器注册部署组的一组替换实例并取消注册原始实例、可以指定应用于实例的标签或 Amazon EC2 Auto Scaling 组名称、在所有情况下实例必须配置为在部署中使用(即,它们必须已标记或属于 Amazon EC2 Auto Scaling 组),并且已安装并运行 CodeDeploy 代理、AWS 提供了一个 AWS CloudFormation 模板,您可使用该模板基于 Amazon Linux 或 Windows Server 快速设置 Amazon EC2 实例,还提供了独立的 CodeDeploy 代理、配置 Amazon SNS 通知  — 创建触发器,以便在部署和实例中发生指定的事件(例如,成功或失败事件)时,向 Amazon SNS 主题的订阅者发送通知、基于警报的部署管理  — 实现 Amazon CloudWatch 警报监控,以在指标超出或低于 CloudWatch 中设置的阈值时停止部署、自动部署回滚  — 配置部署,使之在部署失败或达到警报阈值时自动回滚到已知良好的版本。

3. 指定部署配置,以指明多少实例要同时部署应用程序修订并描述成功和失败的条件;

4. 将应用程序修订上传到 Amazon S3 或 GitHub。除了要部署的文件和要在部署期间运行的所有脚本外,您还必须包含 application specification file(AppSpec file)。该文件包含部署说明,例如,要将文件复制到的每个实例上的位置,以及运行部署脚本的时间。

5. 将应用程序修订部署到部署组。部署组中每个实例的 CodeDeploy 代理将您的应用程序修订从 Amazon S3 或 GitHub 复制到该实例。然后,CodeDeploy 代理将取消捆绑修订,使用 AppSpec file 将相应文件复制到指定的位置并执行任何部署脚本。。

6. 检查部署结果

7. 重新修订,重新部署。

注意:以下是开始前需要做的 {

设置实例

您需要先设置实例,然后才能首次部署应用程序修订。如果一个应用程序修订需要三个生产服务器和两个备份服务器,您将启动或使用五个实例。

要手动预配实例,请执行以下操作:

在实例上安装 CodeDeploy 代理。CodeDeploy 代理可安装在 Amazon Linux、Ubuntu Server、RHEL 和 Windows Server 实例上。

如果要使用标签来标识部署组中的实例,请启用标记。CodeDeploy 依赖标签来标识实例并将其分组到 CodeDeploy 部署组。尽管入门教程同时使用了键和值,但是您可以只使用键或值为部署组定义标签。

启动附加有 IAM 实例配置文件的   EC2 实例。IAM 实例配置文件必须附加到启动的   EC2 实例,以便让 CodeDeploy 代理验证该实例的身份。

创建服务角色。提供服务访问权,以便 CodeDeploy 可以展开您的 AWS 账户中的标签。

对于初始部署,AWS CloudFormation 模板将为您完成所有这些操作。它基于已安装 CodeDeploy 代理的 Amazon Linux 或 Windows Server 创建并配置单个新 Amazon EC2 实例。

注意

对于蓝 / 绿部署,您可以选择使用您已有的用于替换环境的实例,或者也可以选择让 CodeDeploy 在部署过程中为您预置新实例 }

以上是“AWS 自动部署工具 codedeploy 如何部署”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2862字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)