本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用CodeCatalyst 工作流程 ,您可以將應用程式和其他資源部署到 Amazon 等各種目標ECS AWS Lambda。
如何部署應用程式?
若要透過 部署應用程式或資源 CodeCatalyst,請先建立工作流程,然後在其中指定部署動作。部署動作是工作流程建置區塊,可定義您要部署的內容、您要部署的位置,以及您要部署的方式 (例如,使用藍/綠方案)。您可以使用 CodeCatalyst 主控台的視覺化編輯器或YAML編輯器,將部署動作新增至工作流程。
部署應用程式或資源的高階步驟如下所示。
部署應用程式 (高階任務)
-
在 CodeCatalyst 專案中,您可以為要部署的應用程式新增原始程式碼。如需詳細資訊,請參閱在 中將原始程式碼存放在專案的儲存庫中 CodeCatalyst。
-
在 CodeCatalyst 專案中,您可以新增環境來定義您要部署的目標 AWS 帳戶 和選用 Amazon Virtual Private Cloud (VPC)。如需詳細資訊,請參閱部署至 AWS 帳戶 和 VPCs。
-
在 CodeCatalyst 專案中,您可以建立工作流程 。工作流程可讓您定義如何建置、測試和部署應用程式。如需詳細資訊,請參閱工作流程入門。
-
在工作流程中,您可以新增觸發程序 、建置動作 ,以及選用的測試動作 。如需詳細資訊,請參閱使用觸發器啟動工作流程自動執行、新增建置動作及新增測試動作。
-
在工作流程中,您可以新增部署動作 。您可以從數個 CodeCatalyst提供的部署動作中選擇到應用程式的不同目標,例如 Amazon ECS。(您也可以使用建置動作或 GitHub 動作來部署應用程式。 如需建置動作和 GitHub 動作的詳細資訊,請參閱 部署動作的替代方案。)
-
您可以手動或透過觸發程序自動啟動工作流程。工作流程會依序執行建置、測試和部署動作,將應用程式和資源部署到目標。如需詳細資訊,請參閱手動啟動工作流程執行。
部署動作清單
下列部署動作可供使用:
-
部署 AWS CloudFormation 堆疊 – 此動作 AWS 會根據AWS Serverless Application Model您提供的AWS CloudFormation 範本在 中建立 CloudFormation 堆疊。如需詳細資訊,請參閱部署 AWS CloudFormation 堆疊。
-
部署到 Amazon ECS – 此動作會註冊您提供的任務定義檔案。如需詳細資訊,請參閱ECS 使用工作流程部署至 Amazon。
-
部署至 Kubernetes 叢集 – 此動作會將應用程式部署至 Amazon Elastic Kubernetes Service 叢集。如需詳細資訊,請參閱EKS 使用工作流程部署至 Amazon。
-
AWS CDK 部署 – 此動作會將AWS CDK 應用程式部署到 AWS。如需詳細資訊,請參閱使用工作流程部署 AWS CDK 應用程式。
注意
還有其他可以部署資源 CodeCatalyst 的動作;但是,這些動作不會被視為部署動作,因為其部署資訊不會出現在環境頁面上。若要進一步了解環境頁面和檢視部署,請參閱 部署至 AWS 帳戶 和 VPCs和 檢視部署資訊。
部署動作的優點
在工作流程中使用部署動作具有下列優點:
-
部署歷史記錄 – 檢視部署的歷史記錄,以協助管理和傳達已部署軟體的變更。
-
可追蹤性 – 透過 CodeCatalyst 主控台追蹤部署的狀態,並查看每個應用程式修訂版的部署時間和位置。
-
回復 – 如果發生錯誤,則自動回復部署。您也可以設定警示來啟用部署復原。
-
監控 – 在部署進行工作流程的各個階段時,觀察部署。
-
與其他 CodeCatalyst 功能的整合 – 儲存原始程式碼,然後建置、測試和部署它,所有這些都來自單一應用程式。
部署動作的替代方案
您不需要使用部署動作,但建議使用這些動作,因為它們提供上一節中概述的優點。反之,您可以使用下列CodeCatalyst 動作:
-
建置動作。
通常,如果您想要部署到不存在對應部署動作的目標,或者如果您想要對部署程序進行更多控制,您可以使用建置動作。如需使用建置動作來部署資源的詳細資訊,請參閱 使用工作流程建置。
-
GitHub 動作 。
您可以在 CodeCatalyst 工作流程中使用GitHub 動作來部署應用程式和資源 (而不是動作 CodeCatalyst)。如需有關如何在 CodeCatalyst 工作流程中使用 GitHub 動作的資訊,請參閱 與 GitHub 動作整合
如果您不想使用 CodeCatalyst 工作流程,也可以使用下列 AWS 服務來部署應用程式:
-
AWS CodeDeploy – 請參閱什麼是 CodeDeploy?
-
AWS CodeBuild 和 AWS CodePipeline – 請參閱什麼是 AWS CodeBuild?什麼是 AWS CodePipeline?
-
AWS CloudFormation – 請參閱什麼是 AWS CloudFormation?
將 CodeDeploy CodeBuild、 CodePipeline和 CloudFormation 服務用於複雜的企業部署。