CodeDeploy 應用程式規格 (AppSpec) 檔案 - AWS CodeDeploy

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

CodeDeploy 應用程式規格 (AppSpec) 檔案

唯一的應用程式規格AppSpec 檔案 (檔案) 是 YAML 格式或 JSON 格式的檔案。 CodeDeploy該 AppSpec 檔案用於將每個部署作為一系列生命週期事件掛接 (在檔案中定義) 來管理。

若要取得有關如何建立格式正確 AppSpec 檔案的資訊,請參閱〈〉CodeDeploy AppSpec 檔案參考

AppSpec Amazon ECS 運算平台上的檔案

如果您的應用程式使用 Amazon ECS 運算平台,則可以使用 YAML 或 JSON 格式化 AppSpec 檔案。也可以直接輸入主控台中的編輯器。該 AppSpec 文件用於指定:

  • Amazon ECS 服務的名稱,以及用來將流量導向至新任務集的容器名稱和連接埠。

  • 用於驗證測試的函數。

您可以在部署生命週期事件後執行驗證 Lambda 函數。如需詳細資訊,請參閱AppSpec Amazon ECS 部署的「掛鉤」部分 AppSpec Amazon ECS 部署的檔案結構 AppSpec Amazon ECS 部署的檔案範例

AppSpec AWS Lambda 運算平台上的檔案

如果您的應用程式使用 AWS Lambda 運算平台,則可以使用 YAML 或 JSON 格式化 AppSpec 檔案。也可以直接輸入主控台中的編輯器。該 AppSpec 文件用於指定:

  • 要部署的 AWS Lambda 功能版本。

  • 用於驗證測試的函數。

您可以在部署生命週期事件後執行驗證 Lambda 函數。如需詳細資訊,請參閱 AppSpec AWS Lambda 部署的「掛鉤」部分

AppSpec EC2/內部部署計算平台上的檔案

如果您的應用程式使用 EC2 /內部部署計算平台, AppSpec 檔案一律為 YAML 格式。該 AppSpec 文件用於:

  • 將應用程式修訂中的來源檔案,映射至執行個體上的目標。

  • 指定已部署檔案的自訂許可。

  • 指定在部署程序各階段在每個執行個體上執行的指令碼。

您可以在許多個別部署生命週期事件之後,在執行個體上執行指令碼。 CodeDeploy 只會執行檔案中指定的指令碼,但這些指令碼可以呼叫執行個體上的其他指令碼。只要執行個體上執行的作業系統支援,您就可以執行任何類型的指令碼。如需詳細資訊,請參閱 AppSpec EC2 /內部部署的「掛鉤」部分

CodeDeploy 代理程式使用 AppSpec 檔案的方式

在部署期間, CodeDeploy 代理程式會在檔案的點區段中查詢目前事 AppSpec 件的名稱。如果找不到事件, CodeDeploy 代理程式會繼續進行下一個步驟。如果找到事件, CodeDeploy 代理程式會擷取要執行的指令碼清單。指令碼會按照在檔案中出現的順序依次執行。每個指令碼的狀態都會記錄在執行個體的 CodeDeploy 代理程式記錄檔中。

如果指令碼執行成功,則會傳回結束代碼 0 (零)。

注意

CodeDeploy 代理程式不會用於 AWS Lambda 或 Amazon ECS 部署中。

Install 事件期間, CodeDeploy 代理程式會使用 AppSpec 檔案檔區段中定義的對應來決定要從修訂版複製到執行個體的資料夾或檔案。

如果作業系統上安裝的 CodeDeploy 代理程式與 AppSpec 檔案中列出的代理程式不符,則部署會失敗。

如需 CodeDeploy 代理程式記錄檔的詳細資訊,請參閱與 CodeDeploy 代理工作