View a markdown version of this page

步驟 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 管理主控台 ,並在 https://https://console.aws.amazon.com/codedeploy 開啟 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. 在修訂位置中,輸入作業系統和區域的範例應用程式位置。

    對於 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 部署群組名稱)。