使用建立部署規劃 CodeDeploy - AWS CodeDeploy

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

使用建立部署規劃 CodeDeploy

如果您不想使用隨附的其中一個預設部署設定 CodeDeploy,您可以使用下列指示建立自己的部署設定。

您可以使用 CodeDeploy 主控台 AWS CLI、 CodeDeploy API 或 AWS CloudFormation 範本來建立自訂部署組態。

若要取得有關使用 AWS CloudFormation 樣板建立部署規劃的資訊,請參閱〈〉AWS CloudFormation CodeDeploy供參考的範本

建立部署規劃 (主控台)

使用下列指示,使用 AWS 主控台建立部署規劃。

CodeDeploy 使用主控台建立部署規劃
  1. 請登入 AWS Management Console 並開啟 CodeDeploy 主控台,網址為 https://console.aws.amazon.com/codedeploy

    注意

    使用您設定的相同使用者登入開始使用 CodeDeploy

  2. 在瀏覽窗格中,選擇 [部署規劃]。

    內建部署組態清單隨即顯示。

  3. 選擇 Create deployment configuration (建立部署組態)

  4. 部署規劃名稱中,輸入部署規劃的名稱。例如 my-deployment-config

  5. 在「運算平台」下,選擇下列其中一項:

    • EC2/內部部署

    • AWS Lambda

    • Amazon ECS

  6. 執行以下任意一項:

    • 如果您選擇 EC2/ 內部部署:

      1. 在 [運作狀況良好的主機下限] 底下,指定部署期間必須隨時保持可用的執行個體數目或百分比。如需部署期間如何 CodeDeploy 監視和評估執行個體健康狀態的詳細資訊,請參閱Instance Health

      2. (選擇性) 在區域組態下,選取啟用區域組態,讓應用程式一次 CodeDeploy 部署到一個區域內的一個 AWS 可用區域。透過一次部署到一個可用區域,您可以隨著對部署效能和可行性的信心提高,將部署公開給越來越大的受眾。如果您未啟用區域設定,請將應用程式 CodeDeploy 部署到跨區域隨機選取的主機。

        如果您啟用區域組態功能,請注意下列事項:

        • 只有在 Amazon EC2 執行個體的就地部署時才支援區域組態功能。(不支援藍/綠部署和內部部署執行個體)。如需就地部署的更多資訊,請參閱部署類型

        • 預先定義的部署規劃不支援區域組態功能。若要使用區域規劃,您必須建立自訂部署規劃,如此處所述。

        • 如果 CodeDeploy 需要復原部署, CodeDeploy 將會在隨機主機上執行復原作業。(不CodeDeploy會一次回滾一個區域,如您所期望的那樣。) 此復原行為是基於效能原因而選擇的。如需復原的詳細資訊,請參閱使用以下方式重新部署和復原部署 CodeDeploy

      3. 如果您選取了啟用區域組態核取方塊,請選擇性地指定下列選項:

        • (選擇性) 在監視持續時間中,指定完成可用區域部署後 CodeDeploy 必須等待的時間期間 (以秒為單位)。 CodeDeploy 在開始部署到下一個可用區域之前,會等待這段時間。請考慮新增監視器持續時間,讓部署有一些時間在一個可用區域中證明自己 (或「烘焙」),然後再釋出下一個區域。如果您未指定監視持續時間,請立即 CodeDeploy 開始部署到下一個可用區域。如需監視持續時間設定如何運作的詳細資訊,請參閱關於每個可用區域的運作狀態良好的執行個體數

        • (選擇性) 選取新增第一個區域的監視持續時間,以設定僅適用於第一個可用區域的監視持續時間。如果您想為第一個可用區域預留額外烘烤時間,可以設定此選項。如果您未在新增第一個區域監視器持續時間中指定值,則 CodeDeploy 會使用第一個可用區域的監視持續時間值。

        • (選擇性) 在每個區域運作良好的主機下限下,指定部署期間每個可用區域必須保持可用的執行個體數目或百分比。選擇「彈性 _ 百分比」以指定百分比,或選擇「主機 _ 計數」以指定數字。此欄位與健全狀況最低主機欄位搭配使用。如需詳細資訊,請參閱 關於每個可用區域的運作狀態良好的執行個體數

          如果您未在每個區域的運作狀況良好的主機下限下指定值,則 CodeDeploy 會使用預設值0百分比。

    • 如果您選擇AWS LambdaAmazon ECS

      1. 對於「文字」,請選擇「線性「加

      2. 在「步驟」和「間隔」欄位中,執行下列其中一項作業:

        • 如果您選擇 Canary,在「步驟」中,輸入要轉移的流量百分比,介於 1 到 99 之間。這是第一個增量中移動的流量百分比。剩餘的流量會在第二個增量之選定間隔後轉移。

          在「間」中,輸入第一個和第二個流量偏移之間的分鐘數。

        • 如果您選擇「線性」,對於「步驟」,請輸入要轉移的流量百分比,介於 1 到 99 之間。這是在每個間隔開始時轉移的流量百分比。

          在「間」中,輸入每個增量工作班次之間的分鐘數。

  7. 選擇 Create deployment configuration (建立部署組態)

    您現在擁有可與部署群組建立關聯的部署組態。

使用 CodeDeploy (AWS CLI) 建立部署組態

若要使用 AWS CLI 建立部署規劃,請呼叫指create-deployment-config令。

下列範例會建立名為的 EC2 /內部部署組態,ThreeQuartersHealthy該組態需要 75% 的目標執行個體在部署期間保持健康狀態:

aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75

下列範例會建立名為的 EC2 /內部部署組態,每個部署需300Total50PerAZ要 300 個目標執行個體維持健康狀態,而每個可用區域需要 50 個目標執行個體保持運作良好狀態。它還將監視器持續時間設置為 1 小時。

aws deploy create-deployment-config --deployment-config-name 300Total50PerAZ --minimum-healthy-hosts type=HOST_COUNT,value=300 --zonal-config '{"monitorDurationInSeconds":3600,"minimumHealthyHostsPerZone":{"type":"HOST_COUNT","value":50}}'

下列範例會建立名為的 AWS Lambda 部署組態Canary25Percent45Minutes。它使用 Canary 轉換功能,轉換第一個遞增的 25% 的流量。剩餘的 75% 會在 45 分鐘之後轉移。

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform Lambda

下列範例會建立名為的 Amazon ECS 部署組Canary25Percent45Minutes態。它使用 Canary 轉換功能,轉換第一個遞增的 25% 的流量。剩餘的 75% 會在 45 分鐘之後轉移。

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform ECS