步驟 2:將應用程式部署至 Auto Scaling 群組 - AWS CodeDeploy

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

步驟 2:將應用程式部署至 Auto Scaling 群組

在此步驟中,您將部署修訂版至 Auto Scaling 群組中的單一 Amazon EC2 執行個體。

建立部署 (CLI)

  1. 呼叫 create-application 命令以建立名為 SimpleDemoApp 的應用程式:

    aws deploy create-application --application-name SimpleDemoApp
  2. 您應該已經遵循以下步驟 2:建立 CodeDeploy 的服務角色的說明建立服務角色。服務角色將授予 CodeDeploy 存取 Amazon EC2 執行個體的許可,以展開 (讀取) 其標籤。您需要服務角色 ARN。若要取得服務角色 ARN,請遵循 取得服務角色 ARN (CLI) 中的指示。

  3. 現在您已擁有服務角色 ARN,請呼叫 create-deployment-group命令來建立名為 的部署群組SimpleDemoDG,此群組與名為 的應用程式相關聯SimpleDemoApp,並使用名為 的 Auto Scaling 群組CodeDeployDemo-AS-Group和名為 的部署組態CodeDeployDefault.OneAtATime,搭配指定的服務角色 ARN。

    注意

    create-deployment-group 命令支援建立觸發,導致將 Amazon SNS 通知傳送給主題訂閱者,以說明部署和執行個體中指定的事件。命令也支援自動復原部署和設定警示的選項,以在符合 Amazon CloudWatch 警示中的監控閾值時停止部署。本教學課程不包含這些動作的命令。

    在本機 Linux、macOS 或 Unix 機器上:

    aws deploy create-deployment-group \ --application-name SimpleDemoApp \ --auto-scaling-groups CodeDeployDemo-AS-Group \ --deployment-group-name SimpleDemoDG \ --deployment-config-name CodeDeployDefault.OneAtATime \ --service-role-arn service-role-arn

    在本機 Windows 電腦上:

    aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefault.OneAtATime --service-role-arn service-role-arn
  4. ​使用指定位置的修訂版,呼叫 create-deployment 命令以建立與名為 SimpleDemoApp 的應用程式關聯的部署、名為 CodeDeployDefault.OneAtATime 的部署組態、名為 SimpleDemoDG 的部署群組。

    對於 Amazon Linux 和 RHEL Amazon EC2 執行個體,從本機 Linux、macOS 或 Unix 機器呼叫

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    bucket-name 是 Amazon S3 儲存貯體的名稱,其中包含您所在區域的 CodeDeploy 資源套件檔案。例如,對於美國東部 (俄亥俄) 區域,將 bucket-name 取代為 aws-codedeploy-us-east-2。如需儲存貯體名稱的清單,請參閱 依區域列出的資源套件儲存貯體名稱

    對於 Amazon Linux 和 RHEL Amazon EC2 執行個體,從本機 Windows 機器呼叫

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    bucket-name 是 Amazon S3 儲存貯體的名稱,其中包含您所在區域的 CodeDeploy 資源套件檔案。例如,對於美國東部 (俄亥俄) 區域,將 bucket-name 取代為 aws-codedeploy-us-east-2。如需儲存貯體名稱的清單,請參閱 依區域列出的資源套件儲存貯體名稱

    對於 Windows Server Amazon EC2 執行個體,從本機 Linux、macOS 或 Unix 機器呼叫

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    bucket-name 是 Amazon S3 儲存貯體的名稱,其中包含您所在區域的 CodeDeploy 資源套件檔案。例如,對於美國東部 (俄亥俄) 區域,將 bucket-name 取代為 aws-codedeploy-us-east-2。如需儲存貯體名稱的清單,請參閱 依區域列出的資源套件儲存貯體名稱

    對於 Windows Server Amazon EC2 執行個體,從本機 Windows 機器呼叫

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    bucket-name 是 Amazon S3 儲存貯體的名稱,其中包含您所在區域的 CodeDeploy 資源套件檔案。例如,對於美國東部 (俄亥俄) 區域,將 bucket-name 取代為 aws-codedeploy-us-east-2。如需儲存貯體名稱的清單,請參閱 依區域列出的資源套件儲存貯體名稱

    注意

    目前,CodeDeploy 不提供範例修訂以部署至 Ubuntu Server Amazon EC2 執行個體。若要自行建立修訂版,請參閱使用 CodeDeploy 的應用程式修訂版

  5. 呼叫 get-deployment 命令,確保部署成功。

    呼叫此命令之前,您需要部署的 ID,其應該已由呼叫傳回 create-deployment 命令。 如果您需要再次取得部署 ID,請針對名為 SimpleDemoApp 的應用程式與名為 SimpleDemoDG 的部署群組 呼叫 list-deployments 命令。

    aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query "deployments" --output text

    現在,利用部署 ID 呼叫 get-deployment 命令。

    aws deploy get-deployment --deployment-id deployment-id --query "deploymentInfo.status" --output text

    在傳回的值為 Succeeded 之前不要繼續。

建立部署 (主控台)

  1. 您應該已經遵循以下步驟 2:建立 CodeDeploy 的服務角色的說明建立服務角色。服務角色將授予 CodeDeploy 許可,以存取您的執行個體來展開 (讀取) 其標籤。在您使用 CodeDeploy 主控台部署應用程式修訂版之前,您將需要服務角色 ARN。若要取得服務角色 ARN,請遵循 取得服務角色 ARN (主控台) 中的指示。

  2. 現在您已擁有服務角色 ARN,您可以使用 CodeDeploy 主控台來部署應用程式修訂版。

    登入 AWS Management Console 並開啟 CodeDeploy 主控台,網址為 https://https://console.aws.amazon.com/codedeploy.。

    注意

    使用您在 中設定的相同使用者登入CodeDeploy 入門

  3. 在導覽窗格中,展開部署,然後選擇應用程式

  4. 選擇建立應用程式

  5. 選擇 Custom application (自訂應用程式)

  6. Application name (應用程式名稱) 中,輸入 SimpleDemoApp

  7. Compute Platform (運算平台) 中,選擇 EC2/On-premises (EC2/現場部署)

  8. 選擇建立應用程式

  9. Deployment groups (部署群組) 標籤中,選擇 Create deployment group (建立部署群組)

  10. Deployment group name (部署群組名稱) 中,輸入 SimpleDemoDG

  11. Service Role (服務角色) 中,選擇您服務角色的名稱。

  12. Deployment type (部署類型) 中,選擇 In-place (就地)

  13. 環境組態中,選取 Auto Scaling 群組,然後選擇 CodeDeployDemo-AS-Group

  14. 部署組態中,選擇 CodeDeployDefault.OneAtATime

  15. 清除 Enable load balancing (啟用負載平衡)

  16. 選擇 Create deployment group (建立部署群組)

  17. 在部署群組標籤中,選擇 Create deployment (建立部署)

  18. 修訂類型中,選擇我的應用程式存放在 Amazon S3 中

  19. Revision location (修訂版位置),輸入作業系統和區域的範例應用程式的位置。

    對於 Amazon Linux 和 RHEL Amazon EC2 執行個體

    區域 範例應用程式的位置
    美國東部 (俄亥俄) 區域 http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Linux.zip
    美國東部 (維吉尼亞北部) 區域 http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip
    美國西部 (加利佛尼亞北部) 區域 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Linux.zip
    美國西部 (奧勒岡) 區域 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Linux.zip
    加拿大 (中部) 區域 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Linux.zip
    歐洲 (愛爾蘭) 區域 http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Linux.zip
    歐洲 (倫敦) 區域 http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Linux.zip
    歐洲 (巴黎) 區域 http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Linux.zip
    歐洲 (法蘭克福) 區域 http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Linux.zip
    以色列 (特拉維夫) 區域 https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
    亞太區域 (香港) 區域 https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
    亞太區域 (東京) 區域 http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip
    亞太區域 (首爾) 區域 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Linux.zip
    亞太區域 (新加坡) 區域 http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Linux.zip
    亞太區域 (雪梨) 區域 http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Linux.zip
    亞太區域 (墨爾本) 區域 https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Linux.zip
    亞太 (孟買) 區域 http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Linux.zip
    南美洲 (聖保羅) 區域 http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Linux.zip

    對於 Windows Server Amazon EC2 執行個體

    區域 範例應用程式的位置
    美國東部 (俄亥俄) 區域 http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Windows.zip
    美國東部 (維吉尼亞北部) 區域 http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Windows.zip
    美國西部 (加利佛尼亞北部) 區域 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Windows.zip
    美國西部 (奧勒岡) 區域 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Windows.zip
    加拿大 (中部) 區域 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Windows.zip
    歐洲 (愛爾蘭) 區域 http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Windows.zip
    歐洲 (倫敦) 區域 http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Windows.zip
    歐洲 (巴黎) 區域 http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Windows.zip
    歐洲 (法蘭克福) 區域 http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Windows.zip
    以色列 (特拉維夫) 區域 https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
    亞太區域 (香港) 區域 https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
    亞太 (首爾) 區域 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Windows.zip
    亞太區域 (新加坡) 區域 http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Windows.zip
    亞太區域 (雪梨) 區域 http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Windows.zip
    亞太區域 (墨爾本) 區域 https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Windows.zip
    亞太 (孟買) 區域 http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Windows.zip
    南美洲 (聖保羅) 區域 http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Windows.zip

    對於 Ubuntu Server Amazon EC2 執行個體

    輸入儲存在 Amazon S3 中的自訂應用程式修訂版位置。

  20. Deployment description (部署描述) 空白。

  21. 展開 Advanced (進階)

  22. 選擇 Create deployment (建立部署)

    注意

    如果狀態出現 Failed (失敗),而非 Succeeded (成功),則可嘗試監控和疑難排解您的部署中的某些技術 (使用 SimpleDemoApp 應用程式名稱,以及 SimpleDemoDG 部署群組名稱)。