

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CodeDeploy 代理配置参考
<a name="reference-agent-configuration"></a>

安装 CodeDeploy 代理后，将在实例上放置配置文件。此配置文件指定了与实例交互 CodeDeploy 时要使用的目录路径和其他设置。可以更改此文件中的某些配置选项。

对于 Amazon Linux、Ubuntu Server 和 Red Hat Enterprise Linux（RHEL）实例，配置文件名为 `codedeployagent.yml`。它放置在 `/etc/codedeploy-agent/conf` 目录中。

对于 Windows Server 实例，配置文件名为 `conf.yml`。它放置在 `C:\ProgramData\Amazon\CodeDeploy` 目录中。

配置设置包括：


****  

|  |  | 
| --- |--- |
| **:log\_aws\_wire:** | **设置`true`为， CodeDeploy 代理可以从 Amazon S3 捕获电线日志，并将其写入:log\_dir: 设置所指向的位置的日志文件中。**<br />对于 2.0.x 及更高版本，文件名为`codedeploy-agent.aws_wire.log`（使用 0640 权限创建）。<br />对于 1.8.x 及更早版本，文件名为。`codedeploy-agent.wire.log` 您仅应在捕获线路日志需要的时间内将 **:log\_aws\_wire:** 设置为 `true`。线路日志文件可以很快增长到非常大的大小。线路日志输出可能包含敏感信息，包括将此设置设置为时传入或传出 Amazon S3 的文件的纯文本内容。`true`此设置设置为时，电汇日志包含与 AWS 账户关联的所有 Amazon S3 活动的信息`true`，而不仅仅是与 CodeDeploy 部署相关的活动。 <br />默认设置为 `false`。<br />此设置适用于所有实例类型。您必须将此配置设置添加到 Windows Server 实例才能使用它。 | 
| **:log\_dir:** | 实例上存储与 CodeDeploy 代理操作相关的日志文件的文件夹。<br />对于 Amazon Linux、Ubuntu Server 和 RHEL 实例，默认设置是 `'/var/log/aws/codedeploy-agent'`，对于 Windows Server 实例，默认设置是 `C:\ProgramData\Amazon\CodeDeploy\log`。 | 
| **:pid\_dir:** | 存储 `codedeploy-agent.pid` 的文件夹。<br />此文件包含 CodeDeploy 代理的进程 ID (PID)。默认设置为 `'/opt/codedeploy-agent/state/.pid'`。<br />此设置仅适用于 Amazon Linux、Ubuntu Server 和 RHEL 实例。 | 
| **:program\_name:** |  CodeDeploy 代理程序名称。<br />默认设置为 `codedeploy-agent`。<br />此设置仅适用于 Amazon Linux、Ubuntu Server 和 RHEL 实例。 | 
| **:root\_dir:** | 实例上用于存储相关修订、部署历史记录和部署脚本的文件夹。<br />对于 Amazon Linux、Ubuntu Server 和 RHEL 实例，默认设置是 `/opt/codedeploy-agent/deployment-root`，对于 Windows Server 实例，默认设置是 `C:\ProgramData\Amazon\CodeDeploy`。 | 
| **:verbose:** | 设置`true`为， CodeDeploy 代理可以在实例上打印调试消息日志文件。<br />默认设置为 `false`。 | 
| **:wait\_between\_runs:** |  CodeDeploy 代理轮询待处理部署之间的间隔，以秒 CodeDeploy 为单位。<br />对于 2.0.x 及更高版本，默认设置为。`30`<br />对于 1.8.x 及更早版本，默认设置为。`1` | 
| **:on\_premises\_config\_file:** | 对于本地实例，这是名为 `codedeploy.onpremises.yml`（对于 Ubuntu Server 和 RHEL）或 `conf.onpremises.yml`（对于 Windows Server）的配置文件的备用位置的路径。<br />默认情况下，这些文件存储在 `/etc/codedeploy-agent/conf`/`codedeploy.onpremises.yml`（对于 Ubuntu Server 和 RHEL）以及 `C:\ProgramData\Amazon\CodeDeploy`\\`conf.onpremises.yml`（对于 Windows Server）中。<br />在 CodeDeploy 代理版本 1.0.1.686 及更高版本中可用。 | 
| **:proxy\_uri:** | （可选）您希望代理通过它连接以 AWS 进行 CodeDeploy 操作的 HTTP CodeDeploy 代理。使用类似于 `https://user:password@my.proxy:443/path?query` 的格式。<br />在 CodeDeploy 代理版本 1.0.1.824 及更高版本中可用。 | 
| **:max\_revisions:** | （可选）您希望 CodeDeploy 代理存档的部署组的应用程序修订数量。超过指定数量的任何修订都将被删除。<br />输入任意正整数。如果未指定任何值，则除了当前部署的修订版外， CodeDeploy 还将保留最新的五个修订版。<br />在 CodeDeploy 代理版本 1.0.1.966 及更高版本中受支持。 | 
| **:enable\_auth\_policy：** | （可选）`true`如果您想使用 [IAM 授权](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization)来配置访问控制并限制 CodeDeploy 代理正在使用的 IAM 角色或用户的权限，请将其设置为。要[CodeDeploy 与亚马逊 Virtual Private Cloud 配合使用](vpc-endpoints.md)，此值必须是 `true`。<br />默认设置为 `false`。 | 
| **:disable\_imds\_v1:** | 此设置适用于 CodeDeploy 代理 1.7.0 及更高版本。<br />设置为 `true` 可在出现 IMDSv2 错误时禁用回退到 IMDSv1。默认为 `false`（启用回退）。 | 
| **:disable\_core\_dumps:** | 适用于 2.0.x 及更高版本。<br />设置`true`为可抑制核心转储。设置为`false`进行碰撞调查。<br />默认设置为 `true`。 | 
| **:enable\_command\_port:** | 适用于 2.0.x 及更高版本。<br />设置`true`为可启用仅限环回 (127.0.0.1) 的本地管理接口，用于查询代理状态和在本地注入命令。<br />默认设置为 `false`。 | 
| **:reject\_symlinks\_in\_bundle：** | 适用于 2.0.x 及更高版本。<br />设置为可`true`拒绝包含符号链接或硬链接的捆绑包。<br />默认设置为 `false`。 | 
| **:reject\_path\_traversal\_in\_bundle：** | 适用于 2.0.x 及更高版本。<br />设置为可`true`拒绝包含`../`路径遍历或绝对路径的存档条目以及转义包根目录的 AppSpec 源字段。<br />默认设置为 `false`。 | 
| **:reject\_unsafe\_permissions\_in\_bundle：** | 适用于 2.0.x 及更高版本。<br />设置为`true`可拒绝包含已设置 SUID/SGID SUID/SGID的文件或 AppSpec 权限模式的分发包。<br />默认设置为 `false`。 | 
| **:reject\_unconfined\_selinux\_in\_bundle：** | 适用于 2.0.x 及更高版本。<br />设置为可`true`拒绝包含 MAC-disabling SELinux 类型的文件的捆绑包。<br />默认设置为 `false`。 | 
| **:reject\_symlink\_权限\_目标：** | 适用于 2.0.x 及更高版本。<br />设置为`true`可拒绝以符号链接为目标 AppSpec 的文件`permissions`条目。默认情况下，代理在应用所有权、模式、ACL 和 SELinux 更改时会跟随链接。<br />默认设置为 `false`。 | 
| **:ignore\_ownership\_in\_bundle:** | 适用于 2.0.x 及更高版本。<br />设置`true`为可将从存档中提取的文件`tar`和`tgz`捆绑包文件的所有权重置为，`root`而不是应用存档中记录的用户 ID 和组 ID。无论此设置`root`如何，`zip`捆绑包中的文件均归所有。<br />默认设置为 `false`。 | 
| **:限制代理目录权限:** | 适用于 2.0.x 及更高版本。仅限 Linux 实例。<br />设置为，`true`将代理安装根目录下的目录和文件限制为仅限 root 用户访问，而不是默认使用的全局可读模式。<br />默认设置为 `false`。 | 
| **:限制日志目录权限:** | 适用于 2.0.x 及更高版本。仅限 Linux 实例。<br />设置为，`true`将代理日志目录（包含代理日志和更新程序日志）限制为仅限 root 用户访问，而不是默认使用的全局可读模式。<br />默认设置为 `false`。 | 
| **:restrict\_hook\_env\_to\_allist：** | 适用于 2.0.x 及更高版本。<br />设置`true`为可在仅包含基本外壳变量和 CodeDeploy部署变量的最小环境中运行生命周期事件挂钩。默认情况下，挂钩会继承代理进程的完整环境。<br />默认设置为 `false`。 | 
| **:strip\_loader\_env\_in\_hooks：** | 适用于 2.0.x 及更高版本。仅限 Linux 实例。<br />设置`true`为可从生命周期事件挂钩的环境中删除`LD_PRELOAD``LD_LIBRARY_PATH`、和`LD_AUDIT`变量。<br />默认设置为 `false`。 | 
| **:disable\_powershell\_profile\_in\_hooks：** | 适用于 2.0.x 及更高版本。仅限 Windows 服务器实例。<br />设置为`true`，使用`-NoProfile`和`-NonInteractive`选项运行`.ps1`生命周期事件挂钩。默认情况下，这些挂钩会加载代理以其身份运行的用户的 PowerShell 配置文件。<br />默认设置为 `false`。 | 
| **:archive\_max\_extraction\_size:** | 适用于 2.0.x 及更高版本。<br />为声明的未压缩包大小设置上限。如果提取的内容超过此值，则部署将失败。<br />默认值为无上限（无限制）。 | 
| **:wait\_after\_error:** | 代理在遇到错误后等待恢复正常操作的秒数。<br />默认设置为 `30`。 | 
| **:http\_read\_timeout:** | 服务 API 调用的 HTTP 读取超时时间（以秒为单位）。<br />默认设置为 `80`。 | 
| **:kill\_agent\_max\_wait\_time\_seconds：** | 代理在强制终止之前等待正常关闭的最大秒数。对于 2.0.x 及更高版本，此值的上限为 24 小时（86400 秒）。<br />默认设置为`7200`（2 小时）。 | 
| **:enable\_deployments\_l** | 设置为`true`以写入聚合部署日志 (`codedeploy-agent-deployments.log`)。<br />默认设置为 `true`。 | 
| **:use\_fips\_mode:** | 设置`true`为使用 FIPS-compliant 终端节点。仅适用于美国地区。<br />默认设置为 `false`。 | 
| **:部署控制端点:** | （可选）服务的自定义控制平面端点 URL。 CodeDeploy <br />默认值为不覆盖（代理从区域解析终端节点）。 | 
| **:s3\_endpoint\_override：** | （可选）用于下载捆绑包的自定义 Amazon S3 终端节点 URL。<br />默认值为无覆盖（代理解析来自该区域的 Amazon S3 终端节点）。 | 
| **:ongoing\_deployment\_track** | 用于部署跟踪状态的子目录的名称。<br />默认设置为 `ongoing-deployment`。 | 

## 相关主题
<a name="reference-agent-configuration-related-topics"></a>

[与 CodeDeploy 代理合作](codedeploy-agent.md)

[管理 CodeDeploy 代理操作](codedeploy-agent-operations.md)