Amazon CodeCatalyst 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 如何从 CodeCatalyst 迁移。
使用工作流进行部署
利用 CodeCatalyst 工作流,您可以将应用程序和其他资源部署到各种目标,例如 Amazon ECS、AWS Lambda 等。
如何部署应用程序?
要通过 CodeCatalyst 构建应用程序或资源,您需要先创建工作流,然后在其中指定部署操作。部署操作是一个工作流构建基块,它定义要部署的内容、部署位置以及部署方式(例如,使用蓝/绿方案)。您可以使用 CodeCatalyst 控制台的可视化编辑器或 YAML 编辑器,向工作流添加部署操作。
部署应用程序或资源的步骤大致如下。
部署应用程序(高级别任务)
-
在 CodeCatalyst 项目中,您可以为要部署的应用程序添加源代码。有关更多信息,请参阅将源代码存储在 CodeCatalyst 项目的存储库中。
-
在您的 CodeCatalyst 项目中,您可以添加一个环境来定义目标 AWS 账户和要部署到的可选 Amazon Virtual Private Cloud(Amazon VPC)。有关更多信息,请参阅 部署到 AWS 账户和 VPC 中。
-
在 CodeCatalyst 项目中,您可以创建工作流。在工作流中,您可以定义如何构建、测试和部署应用程序。有关更多信息,请参阅 入门工作流。
-
在工作流中,您可以添加触发器、构建操作以及(可选)测试操作。有关更多信息,请参阅使用触发器自动启动工作流运行、添加构建操作和添加测试操作。
-
在工作流中,您可以添加部署操作。您可以从多个 CodeCatalyst 提供的部署操作中进行选择,以将应用程序部署到不同的目标,例如 Amazon ECS。(您也可以使用构建操作或 GitHub Action 来部署应用程序。有关构建操作和 GitHub Actions 的更多信息,请参阅部署操作的替代方案。)
-
您可以手动启动工作流,也可以通过触发器自动启动工作流。该工作流按顺序运行构建、测试和部署操作,以将您的应用程序和资源部署到目标。有关更多信息,请参阅 手动启动工作流运行。
部署操作列表
提供了以下部署操作:
-
部署 CloudFormation 堆栈 – 此操作基于您提供的 CloudFormation template 或 AWS Serverless Application Model 模板在 AWS 中创建 CloudFormation 堆栈。有关更多信息,请参阅 部署 CloudFormation 堆栈。
-
部署到 Amazon ECS – 此操作将注册您提供的任务定义文件。有关更多信息,请参阅 使用工作流部署到 Amazon ECS。
-
部署到 Kubernetes 集群 – 此操作将应用程序部署到 Amazon Elastic Kubernetes Service 集群。有关更多信息,请参阅 使用工作流部署到 Amazon EKS。
-
AWS CDK 部署 – 此操作将 AWS CDK app 部署到 AWS 中。有关更多信息,请参阅 使用工作流部署 AWS CDK 应用程序。
注意
还有其他 CodeCatalyst 操作可以部署资源;但这些操作不被视为部署操作,因为它们的部署信息不会显示在环境页面上。要详细了解环境页面和查看部署,请参阅部署到 AWS 账户和 VPC 中和查看部署信息。
部署操作的优势
在工作流中使用部署操作有以下益处:
-
部署历史记录 – 查看部署历史记录,帮助管理和传达已部署软件中的更改。
-
可追溯性 – 通过 CodeCatalyst 控制台跟踪部署状态,并查看每个应用程序修订的部署时间和位置。
-
回滚 – 如果出现错误,则自动回滚部署。您还可以配置警报以激活部署回滚。
-
监控 – 观察工作流的各个阶段的部署进展。
-
与其他 CodeCatalyst 功能集成 – 存储源代码,然后通过一个应用程序构建、测试和部署源代码。
部署操作的替代方案
未强制您使用部署操作,但建议您这样做,因为部署操作可提供上一部分中列明的好处。相反,您可以使用以下 CodeCatalyst 操作:
-
构建操作。
通常,如果要部署到没有相应的部署操作的目标,或者要对部署过程进行更多控制,则可以使用构建操作。有关使用构建操作来部署资源的更多信息,请参阅使用工作流进行构建。
-
GitHub Action。
您可以在 CodeCatalyst 工作流中使用 GitHub Action来部署应用程序和资源(而不是 CodeCatalyst 操作)。有关如何在 CodeCatalyst 工作流中使用 GitHub Actions 的信息,请参阅与 GitHub Actions 集成
如果您不想使用 CodeCatalyst 工作流来部署应用程序,也可以使用以下 AWS 服务来执行此操作:
-
AWS CodeDeploy – 参阅 What is CodeDeploy?
-
AWS CodeBuild 和 AWS CodePipeline – 参阅 What is AWS CodeBuild? 和 What is AWS CodePipeline?
-
CloudFormation – 参阅什么是 CloudFormation?
使用 CodeDeploy、CodeBuild、CodePipeline 和 CloudFormation 服务进行复杂的企业部署。