View a markdown version of this page

CodeDeploy 代理程式組態參考 - AWS CodeDeploy

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CodeDeploy 代理程式組態參考

安裝 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:

將 CodeDeploy 代理程式true設為 以從 Amazon S3 擷取線路日誌,並將其寫入 :log_dir: 設定所指向位置的日誌檔。

對於 2.0.x 版和更新版本,檔案名稱為 codedeploy-agent.aws_wire.log(使用 0640 許可建立)。

對於 1.8.x 版和更早版本,檔案名稱為 codedeploy-agent.wire.log

警告

您只應該針對擷取線路日誌所需時間量,將 :log_aws_wire: 設定為 true。線路日誌檔案可以快速成長到非常大的大小。線路日誌輸出可能包含敏感資訊,包括此設定設為 時傳入或傳出 Amazon S3 之檔案的純文字內容true。當此設定設為 時, AWS 線路日誌包含與帳戶關聯之所有 Amazon S3 活動的相關資訊true,而不只是與 CodeDeploy 部署相關的活動。

預設設定為 false

此設定適用於所有執行個體類型。您必須將此組態設定新增至 Windows Server 執行個體,才能使用它。

:log_dir:

執行個體上的資料夾,其中儲存與 CodeDeploy 代理程式操作相關的日誌檔案。

預設設定'/var/log/aws/codedeploy-agent'適用於 Amazon Linux、Ubuntu Server 和 RHEL 執行個體,以及 C:\ProgramData\Amazon\CodeDeploy\log Windows Server 執行個體。

:pid_dir:

存放 codedeploy-agent.pid 的資料夾。

此檔案包含 CodeDeploy 代理程式的程序 ID (PID)。預設設定為 '/opt/codedeploy-agent/state/.pid'

此設定僅適用於 Amazon Linux、Ubuntu Server 和 RHEL 執行個體。

:program_name:

CodeDeploy 代理程式名稱。

預設設定為 codedeploy-agent

此設定僅適用於 Amazon Linux、Ubuntu Server 和 RHEL 執行個體。

:root_dir:

存放執行個體上相關修訂、部署歷史記錄和部署指令碼的資料夾。

預設設定/opt/codedeploy-agent/deployment-root適用於 Amazon Linux、Ubuntu Server 和 RHEL 執行個體,以及 C:\ProgramData\Amazon\CodeDeploy Windows Server 執行個體。

:verbose:

將 CodeDeploy 代理程式true設定為 ,以在執行個體上列印偵錯訊息日誌檔案。

預設設定為 false

:wait_between_runs:

CodeDeploy 代理程式輪詢 CodeDeploy 等待部署之間的間隔,以秒為單位。

對於 2.0.x 版和更新版本,預設設定為 30

對於 1.8.x 版和更早版本,預設設定為 1

:on_premises_config_file:

對於內部部署執行個體,名為 codedeploy.onpremises.yml(適用於 Ubuntu Server 和 RHEL) 或 conf.onpremises.yml(適用於 Windows Server) 之組態檔案的替代位置路徑。

根據預設,這些檔案存放在 /etc/codedeploy-agent/conf/codedeploy.onpremises.yml for Ubuntu Server 和 RHEL 以及 C:\ProgramData\Amazon\CodeDeploy\conf.onpremises.yml for Windows Server。

適用於 CodeDeploy 代理程式的 1.0.1.686 版和更新版本。

:proxy_uri:

(選用) 您希望 CodeDeploy 代理程式為 CodeDeploy 操作連線 AWS 的 HTTP 代理。使用與 https://user:password@my.proxy:443/path?query 類似的格式。

適用於 CodeDeploy 代理程式的 1.0.1.824 版和更新版本。

:max_revisions:

(選用) 您希望 CodeDeploy 代理程式封存之部署群組的應用程式修訂版數量。任何超過所指定號碼的修訂都會予以刪除。

輸入任何正整數。如果未指定任何值,除了目前部署的修訂之外,CodeDeploy 還會保留五個最新的修訂。

CodeDeploy 代理程式 1.0.1.966 版和更新版本中支援。

:enable_auth_policy:

(選用) true 如果您想要使用 IAM 授權來設定存取控制,並限制 CodeDeploy Agent 正在使用的 IAM 角色或使用者的許可,請將 設定為 。若要 搭配 Amazon Virtual Private Cloud 使用 CodeDeploy,此值必須為 true

預設設定為 false

:disable_imds_v1:

此設定適用於 CodeDeploy 代理程式 1.7.0 及更新版本。

設定為 true 以在發生 IMDSv2 錯誤時停用回復至 IMDSv1。 IMDSv2 預設為 false(啟用後援)。

:disable_core_dumps:

對於 2.0.x 版和更新版本。

設定為 true以隱藏核心傾印。將 設為 false以進行當機調查。

預設設定為 true

:enable_command_port:

對於 2.0.x 版和更新版本。

設定為 true 以啟用僅限迴路 (127.0.0.1) 本機管理介面,以查詢客服人員狀態並在本機注入命令。

預設設定為 false

:reject_symlinks_in_bundle:

對於 2.0.x 版和更新版本。

設定為 true以拒絕包含符號連結或硬連結的套件。

預設設定為 false

:reject_path_traversal_in_bundle:

對於 2.0.x 版和更新版本。

設定為 true以拒絕包含../路徑周遊或絕對路徑的封存項目,以及逸出套件根目錄的 AppSpec 來源欄位。

預設設定為 false

:reject_unsafe_permissions_in_bundle:

對於 2.0.x 版和更新版本。

設定為 true以拒絕包含 SUID/SGID 檔案的套件或設定 SUID/SGID 的 AppSpec 許可模式。

預設設定為 false

:reject_unconfined_selinux_in_bundle:

對於 2.0.x 版和更新版本。

設定為 true以拒絕包含停用 MAC SELinux 類型的檔案的套件。

預設設定為 false

:reject_symlink_permission_targets:

對於 2.0.x 版和更新版本。

設定為 true 以拒絕其目標為符號連結的 AppSpec 檔案permissions項目。根據預設,代理程式會在套用擁有權、模式、ACL 和 SELinux 變更時遵循連結。

預設設定為 false

:ignore_ownership_in_bundle:

對於 2.0.x 版和更新版本。

設定為 true 以重設從 tartgz套件擷取的檔案擁有權,root而不是套用存檔中記錄的使用者 ID 和群組 ID。無論此設定root為何,zip套件中的檔案都由 擁有。

預設設定為 false

:restrict_agent_dir_permissions:

對於 2.0.x 版和更新版本。僅限 Linux 執行個體。

將 設定為 true,將代理程式安裝根目錄下的目錄和檔案限制為僅限根存取,而不是預設使用的世界可讀模式。

預設設定為 false

:restrict_log_dir_permissions:

對於 2.0.x 版和更新版本。僅限 Linux 執行個體。

將 設定為 ,true將包含代理程式日誌和更新程式日誌的代理程式日誌目錄限制為僅限根存取,而不是預設使用的世界可讀模式。

預設設定為 false

:restrict_hook_env_to_allowlist:

對於 2.0.x 版和更新版本。

設定為 true以最少的環境執行生命週期事件掛鉤,其中僅包含基本 Shell 變數和 CodeDeploy 部署變數。根據預設,勾點會繼承代理程式程序的完整環境。

預設設定為 false

:strip_loader_env_in_hooks:

對於 2.0.x 版和更新版本。僅限 Linux 執行個體。

將 設定為 從生命週期事件掛鉤的環境中true移除 LD_LIBRARY_PATHLD_PRELOADLD_AUDIT變數。

預設設定為 false

:disable_powershell_profile_in_hooks:

對於 2.0.x 版和更新版本。僅限 Windows Server 執行個體。

設定為 true 以使用 -NoProfile-NonInteractive選項執行.ps1生命週期事件掛鉤。根據預設,這些勾點會載入代理程式執行時使用者的 PowerShell 設定檔。

預設設定為 false

:archive_max_extraction_size:

對於 2.0.x 版和更新版本。

設定宣告的未壓縮套件大小上限。如果擷取的內容超過此值,則部署會失敗。

預設值為無上限 (無限制)。

:wait_after_error:

代理程式在遇到錯誤後繼續正常操作前等待的秒數。

預設設定為 30

:http_read_timeout:

服務 API 呼叫的 HTTP 讀取逾時,以秒為單位。

預設設定為 80

:kill_agent_max_wait_time_seconds:

代理程式在強制終止之前等待正常關機的秒數上限。對於 2.0.x 版和更新版本,此值上限為 24 小時 (86400 秒)。

預設設定為 7200(2 小時)。

:enable_deployments_log:

設定為 true以寫入彙總部署日誌 (codedeploy-agent-deployments.log)。

預設設定為 true

:use_fips_mode:

設定為 true 以使用 FIPS 相容端點。僅適用於美國區域。

預設設定為 false

:deploy_control_endpoint:

(選用) CodeDeploy 服務的自訂控制平面端點 URL。

預設為不覆寫 (代理程式會從 區域解析端點)。

:s3_endpoint_override:

(選用) 套件下載的自訂 Amazon S3 端點 URL。

預設為不覆寫 (代理程式會從 區域解析 Amazon S3 端點)。

:ongoing_deployment_tracking:

用於部署追蹤狀態的子目錄名稱。

預設設定為 ongoing-deployment

使用 CodeDeploy 代理程式

管理 CodeDeploy 代理程式操作