本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用工作流程进行部署
使用CodeCatalyst 工作流程,您可以将应用程序和其他资源部署到各种目标, AWS Lambda例如 Amazon ECS 等。
如何部署应用程序?
要通过部署应用程序或资源 CodeCatalyst,首先要创建一个工作流,然后在其中指定部署操作。部署操作是一个工作流程构造块,它定义了要部署的内容、部署位置以及部署方式(例如,使用蓝/绿方案)。您可以使用 CodeCatalyst 控制台的可视化编辑器或 YAML 编辑器向工作流程添加部署操作。
部署应用程序或资源的高级步骤如下。
部署应用程序(高级任务)
-
在您的 CodeCatalyst 项目中,您可以为要部署的应用程序添加源代码。有关更多信息,请参阅 将源代码存储在项目的存储库中 CodeCatalyst。
-
在您的 CodeCatalyst 项目中,您可以创建工作流程。在工作流程中,您可以定义如何构建、测试和部署应用程序。有关更多信息,请参阅 工作流程入门。
-
在工作流程中,您可以添加触发器、生成操作以及测试操作(可选)。有关更多信息,请参阅 使用触发器自动启动工作流程、添加生成操作 和 添加测试操作。
-
在工作流程中,您可以添加部署操作。您可以从 CodeCatalyst提供的多个将应用程序部署到不同目标(例如 Amazon ECS)的操作中进行选择。(您也可以使用生成操作或 GitHub 操作来部署应用程序。 有关生成 GitHub 操作和操作的更多信息,请参阅部署操作的替代方案。)
-
您可以手动启动工作流程,也可以通过触发器自动启动工作流程。该工作流按顺序运行构建、测试和部署操作,将您的应用程序和资源部署到目标。有关更多信息,请参阅 启动工作流程手动运行。
部署操作列表
以下部署操作可用:
-
部署 AWS CloudFormation 堆栈-此操作 AWS 基于您提供的AWS CloudFormation 模板或AWS Serverless Application Model 模板在中创建 CloudFormation 堆栈。有关更多信息,请参阅 使用工作流程部署 AWS CloudFormation 堆栈。
-
部署到 Amazon ECS — 此操作会注册您提供的任务定义文件。有关更多信息,请参阅 使用工作流程将应用程序部署到 Amazon 弹性容器服务 (ECS)。
-
部署到 Kubernetes 集群 — 此操作将应用程序部署到亚马逊 Elastic Kubernetes Service 集群。有关更多信息,请参阅 使用工作流程将应用程序部署到亚马逊 Elastic Kubernetes Service。
-
AWS CDK 部署-此操作将AWS CDK 应用程序部署到。 AWS有关更多信息,请参阅 使用工作流程部署 AWS Cloud Development Kit (AWS CDK) 应用程序。
注意
还有其他可以部署资源的 CodeCatalyst 操作;但是,它们不被视为部署操作,因为它们的部署信息不会显示在 “环境” 页面上。要了解有关环境页面和查看部署的更多信息,请参阅部署到环境中的 VPC AWS 账户 和带有 CodeCatalyst环境的 VPC和查看部署状态、提交和拉取请求。
部署操作的好处
在工作流程中使用部署操作具有以下好处:
-
部署历史记录-查看部署历史记录,以帮助管理和传达已部署软件中的更改。
-
可追溯性-通过 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 服务进行复杂的企业部署。