在 AWS Lambda Compute Platform 上的部署 - AWS CodeDeploy

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

在 AWS Lambda Compute Platform 上的部署

本主題提供使用 AWS Lambda 運算平台之 CodeDeploy 部署元件和工作流程的相關資訊。

運算平台上的 AWS Lambda 部署工作流程

下圖顯示新的及更新 AWS Lambda 函數部署中的主要步驟。

如何 CodeDeploy 部署新的或更新的 AWS Lambda 函數。

這些步驟包括:

  1. 建立應用程式並為其命名,而其名稱需唯一識別您要部署的應用程式修訂。若要部署 Lambda 函數,請在建立應用程式時選擇 AWS Lambda 運算平台。 在部署期間 CodeDeploy 使用此名稱,以確保其參考正確的部署元件,例如部署群組、部署組態和應用程式修訂版。如需詳細資訊,請參閱建立應用程式 CodeDeploy

  2. 指定部署群組的名稱來設定部署群組。

  3. 選擇部署組態,以指定流量如何從原始 AWS Lambda 函數版本轉移到新的 Lambda 函數版本。如需詳細資訊,請參閱View Deployment Configuration Details

  4. 應用程式規格檔案 (AppSpec 檔案) 上傳至 Amazon S3。 AppSpec 檔案會指定用於驗證部署的 Lambda 函數版本和 Lambda 函數。如果您不想建立 AppSpec 檔案,可以使用 YAML或 直接在主控台中指定 Lambda 函數版本和 Lambda 部署驗證函數JSON。如需詳細資訊,請參閱使用的應用程式修訂 CodeDeploy

  5. 將應用程式修訂版部署至部署群組。 AWS CodeDeploy 部署您指定的 Lambda 函數修訂版。流量會使用您在建立應用程式時選擇的部署 AppSpec 檔案,轉換為 Lambda 函數修訂版本。如需詳細資訊,請參閱使用 建立部署 CodeDeploy

  6. 檢查部署結果。如需詳細資訊,請參閱監控部署 CodeDeploy

上傳您的應用程式修訂版

在 Amazon S3 中放置 AppSpec 檔案,或將其直接輸入主控台或 AWS CLI。如需詳細資訊,請參閱Application Specification Files

建立應用程式和部署群組

AWS Lambda 運算平台上的 CodeDeploy 部署群組可識別一或多個 AppSpec 檔案的集合。每個 AppSpec 檔案都可以部署一個 Lambda 函數版本。部署群組也會定義未來部署的一組組態選項 (例如警示和轉返組態)。

部署應用程式修訂版

現在,您已準備好將 AppSpec 檔案中指定的函數修訂版本部署到部署群組。您可以使用 CodeDeploy 主控台或 create-deployment 命令。您可以指定多個參數來控制部署 (包含修訂、部署群組和部署組態)。

更新您的應用程式

您可以更新應用程式,然後使用 CodeDeploy 主控台或呼叫 create-deployment 命令來推送修訂。

已停止和失敗的部署

您可以使用 CodeDeploy 主控台或 stop-deployment 命令來停止部署。當您嘗試停止部署時,會發生下列三者之一:

  • 部署停止,而且操作傳回成功狀態。在此情況下,不需要在已停止部署的部署群組上執行其他部署生命週期事件。

  • 此部署不會立即停止,而且操作傳回擱置中狀態。在此情況下,一些部署生命週期事件可能仍然在部署群組上執行。擱置中操作完成之後,後續呼叫停止部署會傳回成功狀態。

  • 部署無法停止,而且操作傳回錯誤。如需詳細資訊,請參閱 參考中的 AWS CodeDeploy API ErrorInformation常見錯誤

失敗的部署可能導致已執行某些部署生命週期事件,就像已停止的部署一樣。若要了解部署失敗的原因,您可以使用 CodeDeploy主控台或從失敗的部署分析日誌檔案資料。如需詳細資訊,請參閱 應用程式修訂和日誌檔案清除檢視 CodeDeploy EC2/內部部署的記錄資料

重新部署和部署復原

CodeDeploy 會重新部署先前部署的修訂版本,藉此實作復原。

您可以設定部署群組以在符合特定條件時自動轉返部署 (包含部署失敗或符合警示監控閾值時)。您也可以覆寫針對個別部署中部署群組所指定的轉返設定。

您也可以手動重新部署先前部署的修訂,以選擇轉返失敗部署。

在所有情況下,新的或轉返的部署會獲指派其專屬部署 ID。您可以在 CodeDeploy 主控台中檢視的部署清單會顯示哪些是自動部署的結果。

如需詳細資訊,請參閱使用以下方式重新部署和復原部署 CodeDeploy