AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用 AWS CodeDeploy 代理

AWS CodeDeploy 代理是一个软件包,在某个实例上安装和配置该软件包后,它将支持在 AWS CodeDeploy 部署中使用该实例。

安装该代理时,将在实例上放置一个配置文件。此文件用于指定代理的工作方式。此配置文件指定 AWS CodeDeploy 在与实例交互时要使用的目录路径和其他设置。可以更改此文件中的某些配置选项。有关使用 AWS CodeDeploy 代理配置文件的信息,请参阅代理配置参考

有关使用 AWS CodeDeploy 代理的更多信息(例如,安装、更新和验证版本的步骤),请参阅管理 AWS CodeDeploy 代理操作

AWS CodeDeploy 代理支持的操作系统

支持的 Amazon EC2 AMI 操作系统

已在以下 Amazon EC2 AMI 操作系统上测试 AWS CodeDeploy 代理:

  • Amazon Linux 2014.09.1、2015.03、2016.03.0、2016.03.1, 2016.09.0

  • Ubuntu Server 14.04 LTS 和 16.04 LTS

  • Microsoft Windows Server 2008 R2、2012 R2 和 2016。

  • Red Hat Enterprise Linux (RHEL) 7.x

AWS CodeDeploy 代理可以作为开源系统来满足您的需求。它可与其他 Amazon EC2 AMI 操作系统配合使用。有关更多信息,请转至 GitHub 中的 AWS CodeDeploy 代理存储库。

支持的本地操作系统

已在以下本地操作系统上测试 AWS CodeDeploy 代理:

  • Ubuntu Server 14.04 LTS

  • Microsoft Windows Server 2008 R2、2012 R2 和 2016。

  • Red Hat Enterprise Linux (RHEL) 7.x

AWS CodeDeploy 代理可以作为开源系统来满足您的需求。它可与其他本地实例操作系统配合使用。有关更多信息,请转至 GitHub 中的 AWS CodeDeploy 代理存储库。

AWS CodeDeploy 代理的通信协议和端口

AWS CodeDeploy 代理通过端口 443 使用 HTTPS 进行出站通信。

面向 AWS CodeDeploy 代理的、适用于 Ruby 的 AWS 开发工具包 (aws-sdk-core) 支持

1.0.1.880 版本之前的 AWS CodeDeploy 代理版本只能与版本 2.1.2 的 适用于 Ruby 的 AWS 开发工具包 (aws-sdk-core 2.1.2) 及早期版本兼容。如果您使用的是 1.0.1.880 版本之前的 AWS CodeDeploy 代理版本,建议您更新到最新版本。有关信息,请参阅下列内容:

可与 AWS CodeDeploy 代理兼容的、最新版本的适用于 Ruby 的 AWS 开发工具包为 aws-sdk-core 2.3。

受支持的 AWS CodeDeploy 代理版本

您的实例必须运行支持的 AWS CodeDeploy 代理版本。当前支持的最低版本为 1.0.1.854。如果您正在运行更早的版本,则针对您的实例的部署可能会失败。

下表列出了目前受支持的 AWS CodeDeploy 代理版本,以及每个版本包含的功能和增强功能。

版本 发行日期 详细信息
1.0.1.1067 2017 年 1 月 6 日

增强功能:修改了很多错误消息,以包含导致部署故障的更具体的原因。

增强功能:修复了导致 AWS CodeDeploy 代理无法在一些部署中指定要部署的正确应用程序版本的问题。

增强功能:恢复在 untar 操作之前和之后使用 pushdpopd

1.0.1.1045 2016 年 11 月 21 日 增强功能:使 AWS CodeDeploy 代理与适用于 Ruby 的 AWS 开发工具包版本 2.6.11 (aws-sdk-core 2.6.11) 兼容。
1.0.1.1037 2016 年 10 月 19 日

更新了用于 Amazon Linux、RHEL 和 Ubuntu Server 实例的 AWS CodeDeploy 代理,进行了以下更改。对于 Windows Server 实例,最新版本仍为 1.0.1.998。

增强:该代理现在可以确定哪个 Ruby 版本安装在实例上,以使它可以使用该版本调用 codedeploy-agent 脚本。

1.0.1.1011.1 2016 年 8 月 17 日 增强功能:删除了由于外壳支持问题而在 1.0.1.1011 版中引入的更改。此版本代理在功能上与 2016 年 7 月 11 日发布的 1.0.1.998 版相同。
1.0.1.1011 2016 年 8 月 15 日

更新了用于 Amazon Linux、RHEL 和 Ubuntu Server 实例的 AWS CodeDeploy 代理,进行了以下更改。对于 Windows Server 实例,最新版本仍为 1.0.1.998。

功能:增加了在使用 systemd 初始化系统的操作系统上使用 bash shell 调用 AWS CodeDeploy 代理的支持。

增强功能:在 AWS CodeDeploy 代理和 AWS CodeDeploy 代理更新程序中启用了对所有 Ruby 2.x 版本的支持。更新的 AWS CodeDeploy 代理不再单纯依赖 Ruby 2.0。(AWS CodeDeploy 代理安装程序的 deb 和 rpm 版本仍然需要 Ruby 2.0。)
1.0.1.998 2016 年 7 月 11 日

增强功能:修复了对使用 root 之外的用户配置文件运行 AWS CodeDeploy 代理的支持。名为 USER 的变量将被替换为 CODEDEPLOY_USER,以避免与环境变量发生冲突。

1.0.1.966 2016 年 6 月 16 日

功能:推出了对使用 root 之外的用户配置文件运行 AWS CodeDeploy 代理的支持。

增强功能:修复了对指定您希望 AWS CodeDeploy 代理为部署组存档的应用程序修订数量的支持。

增强功能:使 AWS CodeDeploy 代理与适用于 Ruby 的 AWS 开发工具包版本 2.3 (aws-sdk-core 2.3) 兼容。

增强功能:修复了与部署期间的 UTF-8 编码有关的问题。

增强功能:提高了标识进程名称时的准确性。

1.0.1.950 2016 年 3 月 24 日

功能:添加了安装代理支持。

增强功能:更新了安装脚本,如果已安装最新版本,则不会下载 AWS CodeDeploy 代理。

1.0.1.934 2016 年 2 月 11 日

功能:引入了对指定您要 AWS CodeDeploy 代理为部署组存档的应用程序修订数量的支持。

1.0.1.880 2016 年 1 月 11 日 增强功能:使 AWS CodeDeploy 代理与适用于 Ruby 的 AWS 开发工具包版本 2.2 (aws-sdk-core 2.2) 兼容。版本 2.1.2 仍受支持。
1.0.1.854 2015 年 11 月 17 日

功能:引入了对 SHA-256 哈希算法的支持。

功能:在 .version 文件中引入了版本跟踪支持。

功能:通过使用环境变量使部署组 ID 可用。

增强功能:添加了对使用 Amazon CloudWatch Logs 监控 AWS CodeDeploy 代理日志的支持。

有关相关信息,请参见下列内容:

有关 AWS CodeDeploy 代理版本的历史记录,请参阅 GitHub 上的版本存储库

应用程序修订和日志文件清理

AWS CodeDeploy 代理将修订和日志文件存档在实例上。AWS CodeDeploy 代理将清理这些项目以节省磁盘空间。

应用程序修订部署日志:可以使用代理配置文件中的 :max_revisions: 选项,通过输入任何正整数来指定要存档的应用程序修订的数目。AWS CodeDeploy 还对这些修订的日志文件进行存档。所有其他文件将被删除,但上次成功部署的日志文件除外。该日志文件将始终保留,即使失败的部署数量超过保留的修订数量也是如此。如果不指定任何值,则除了当前部署的修订之外,AWS CodeDeploy 还将保留五个最新修订。

AWS CodeDeploy 日志:对于 Amazon Linux、Ubuntu Server 和 RHEL 实例,AWS CodeDeploy 代理在 /var/log/aws/codedeploy-agent 文件夹下轮换日志文件。日志文件将在每天 00:00:00(实例时间)轮换。日志文件会在七天后删除。已轮换日志文件的命名模式是 codedeploy-agent.YYYYMMDD.log