與其他 AWS 服務整合 - AWS CodeDeploy

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

與其他 AWS 服務整合

CodeDeploy 與以下 AWS 服務集成:

Amazon CloudWatch

Amazon CloudWatch 是 AWS 雲端資源和執行應用程式的監控服務 AWS。您可以使用 Amazon CloudWatch 收集和追蹤指標、收集和監控日誌檔,以及設定警示。 CodeDeploy 支援下列 CloudWatch 工具:

  • CloudWatch 當您指定的監視指標超過或低於您在警示規則中指定的閾值時,監視部署並停止它們的 CloudWatch 警示。若要使用警示監控,請先在中設定警示 CloudWatch,然後將其新增 CodeDeploy 至應用程式或部署群組,在該應用程式或部署群組中,在該群組中應在警示啟動時停止。

    進一步了解:

  • Amazon E CloudWatch vents 可偵測執行個體狀態或 CodeDeploy 作業中部署的變更,並對其做出反應。然後,根據您建立的規則,當部署或執行個體進入您在規則中指定的狀態時,E CloudWatch vents 會叫用一或多個目標動作。

    進一步了解:

  • Amazon CloudWatch 日誌可監控 CodeDeploy 代理程式建立的三種類型日誌,而無需一次登入一個執行個體。

    進一步了解:

Amazon EC2 Auto Scaling

CodeDeploy 支持 Amazon EC2 Auto Scaling。此 AWS 服務可以根據您指定的條件自動啟動 Amazon EC2 執行個體,例如:

  • 超過指定CPU使用率的限制。

  • 磁碟讀取或寫入。

  • 傳入或傳出的網路流量超過指定時間間隔。

您可以在需要時向外擴展一組 Amazon EC2 執行個體,然後用它們自動將應用程式修訂部署 CodeDeploy 到這些執行個體。當這些 Amazon 執行個體不再需要時,EC2Amazon EC2 Auto Scaling 會終止這些執行個體。

進一步了解:

Amazon Elastic Container Service

您可以使用 CodeDeploy 將 Amazon ECS 容器化應用程式部署為任務集。 CodeDeploy 將應用程式的更新版本安裝為新的取代工作集,以執行藍/綠部署。 CodeDeploy 將原始應用程式工作集的生產流量重新路由傳送至取代工作集。成功部署後,原始任務集會終止。有關 Amazon 的更多信息ECS,請參閱 Amazon 彈性容器服務

您可以選擇初期測試、線性或規劃,來管理部署期間流量轉移至更新工作集的方 all-at-once式。如需 Amazon ECS 部署的詳細資訊,請參閱 Amazon ECS 運算平台上的部署

AWS CloudTrail

CodeDeploy 與整合AWS CloudTrail。此服務會擷取您 AWS 帳戶中由或代表您 CodeDeploy 的API呼叫,並將日誌檔傳送到您指定的 Amazon S3 儲存貯體。 CloudTrail從 CodeDeploy 主控台、透過 CodeDeploy 指令或 CodeDeploy APIs直接擷取API呼叫。 AWS CLI使用收集的資訊 CloudTrail,您可以判斷:

  • 提出了哪個要求 CodeDeploy。

  • 提出請求的來源 IP 地址。

  • 提出要求的人員。

  • 提出時間。

進一步了解:

AWS Cloud9

AWS Cloud9是一個線上、雲端整合式開發環境 (IDE),您可以使用僅使用連線至網際網路的電腦上的瀏覽器來撰寫、執行、偵錯和部署程式碼。 AWS Cloud9 包含程式碼編輯器、偵錯工具、終端機和基本工具,例如 AWS CLI 和 Git。

  • 您可以使用 AWS Cloud9 IDE來執行、偵錯和建置 GitHub 存放庫中的程式碼。您可以使用其 [IDE環境] 視窗和編輯器索引標籤來檢視、變更及儲存程式碼。準備就緒後,您可以在 AWS Cloud9 終端機工作階段中使用 Git,將程式碼變更推送至 GitHub 儲存庫,然後用 AWS CodeDeploy 來部署更新。如需 AWS Cloud9 與搭配使用的詳細資訊 GitHub,請參閱的GitHub 範例 AWS Cloud9

  • 您可以使用 AWS Cloud9 IDE來更新 AWS Lambda 函數。然後,您可以使用 AWS CodeDeploy 來建立將流量轉移到新版本 AWS Lambda 函數的部署。如需詳細資訊,請參閱在 AWS Cloud9 整合式開發環境中使用 AWS Lambda 函數 (IDE)

如需有關的詳細資訊 AWS Cloud9,請參閱「什麼是」 AWS Cloud9和「入門使用」 AWS Cloud9。

AWS CodePipeline

AWS CodePipeline 是一種持續交付的服務,讓您能夠將發行軟體所需的步驟,依持續交付程序進行模型化、視覺化和自動化。您可以使用 AWS CodePipeline 定義您自己的發佈程序,讓服務能夠在每次程式碼變更時,建置、測試與部署您的代碼。例如,您可能有三個應用程式適用的部署群組:Beta、Gamma 和 Prod。您可以設定管道,讓每次原始碼發生變更時,一個一個地將更新部署到每個部署群組。

您可以配置 AWS CodePipeline 為用 CodeDeploy 於部署:

  • 程式碼至 Amazon EC2 執行個體、現場部署執行個體或兩者。

  • 無伺服器 AWS Lambda 函數版本。

您可以建立 CodeDeploy 應用程式、部署和部署群組,以便在階段中的部署動作中,在建立管道之前或在「建立管線」精靈中使用。

進一步了解:

AWS 無伺服器應用模型

AWS 無伺服器應用程式模型 (AWS SAM) 是定義無伺服器應用程式的模型。它擴展 AWS CloudFormation 到提供了一種簡化的方式來定義無伺服器應用程式所需的 AWS Lambda 函數APIs、Amazon API 閘道和 Amazon DynamoDB 表。如果您已經使用 AWS SAM,您可以新增部署偏好設定以開始使用, CodeDeploy 以管理 AWS Lambda 應用程式部署期間流量轉移的方式。

如需詳細資訊,請參閱AWS 無伺服器應用程式模型

Elastic Load Balancing

CodeDeploy 支援 E lastic Load Balancing,這項服務可將傳入的應用程式流量分配到多個 Amazon EC2 執行個體。

對於 CodeDeploy 部署,負載平衡器也可以防止流量在尚未準備就緒、目前部署到或不再需要作為環境的一部分時,將流量路由傳送到執行個體。

進一步了解: