AWS CloudFormation Git sync 概念和术语 - AWS CloudFormation

AWS CloudFormation Git sync 概念和术语

本节将介绍基本的 Git sync 概念和术语。

Git sync 概述

以下简要概述介绍了 Git sync 的工作原理和使用方法。有关完整的教程,请参阅 AWS CloudFormation Git sync 演练

  • 使用 CodeConnections 将 Git 提供程序连接到 CloudFormation。在本指南中,连接​​是通过连接控制台创建的。或者,您也可以使用 AWS CLI 创建连接。Git sync 支持 GitHubGitHub EnterpriseGitLabBitbucket

  • 提供一个用来定义堆栈的 CloudFormation 模板,将其添加到存储库中。此模板文件受到监控。提交更改后,CloudFormation 会自动更新堆栈。

  • CloudFormation 控制台中,创建一个新堆栈,然后选择从 Git 同步,以配置支持 Git sync 的堆栈。您要指定希望 CloudFormation 监控的存储库和分支,并在存储库中指定用于定义堆栈的 CloudFormation 模板。

  • 在配置过程中,您可以从存储库中提供自己的堆栈部署文件,也可以让 Git sync 为您生成一个。堆栈部署文件包含用于配置堆栈中资源的参数和值。此堆栈部署文件受到监控。提交更改后,CloudFormation 会自动更新堆栈。

  • Git sync 会在存储库中创建一个拉取请求,以便将您的堆栈与 CloudFormation 模板文件和堆栈部署文件同步。如果 Git sync 为您生成了堆栈部署文件,该文件将通过 Git sync 提交到您的存储库。

  • 将拉取请求合并到您的存储库,以便 CloudFormation 预置堆栈,使用您的部署参数对其进行配置,并开始监控存储库的更改。

  • 由于 CloudFormation 正在监控您的存储库,所以会检测到您对模板文件和堆栈部署文件提交的更改,并自动更新堆栈。

  • CloudFormation 控制台中,您可以查看有关堆栈的 Git sync 配置状态信息,以及应用于堆栈的提交历史记录。控制台还提供了用于重新配置 Git sync 和排查问题的工具。

堆栈部署文件

堆栈部署文件是 JavaScript Object Notation(JSON)或 YAML 标准格式的文件,其中包含管理 CloudFormation 堆栈的参数和值。其更改将受到监控。将对文件的更改提交到存储库时,关联的堆栈会自动更新。

堆栈部署文件包含一个键值对和两个字典:

  • template-file-path

    这是 CloudFormation 模板文件的完整存储库路径。模板文件声明了与此部署文件关联的 CloudFormation 堆栈的资源。

  • parameters

    参数字典包含键值对,用于配置堆栈中的资源。堆栈部署文件最多可包含 50 个参数。

  • tags

    标签字典包含可选的键值对,可用于识别堆栈中的资源并对其进行分类。堆栈部署文件最多可包含 50 个标签。

您可以提供自己的堆栈部署文件,也可以让 Git sync 为您创建一个,然后自动向存储库提交拉取请求。您可以通过编辑堆栈部署文件,将更改提交到存储库来管理参数和标签。

下面是 Git sync 堆栈部署文件的示例:

template-file-path: ./fargate-srvc/my-stack-template.yaml parameters: image: public.ecr.aws/lts/nginx:latest task_size: x-small max_capacity: 5 port: 8080 env: production tags: cost-center: '123456' org: 'AWS'

CloudFormation 模板文件

模板文件包含构成 CloudFormation 堆栈的 AWS 资源的声明。模板以 JavaScript Object Notation(JSON)或 YAML 标准格式的文件形式存储。您可以使用 CloudFormation 模板设计器或任何文本编辑器创建和编辑模板。通过 Git sync,模板文件将存储在 Git 存储库中,并由堆栈部署文件引用。您可以通过编辑堆栈部署文件,将更改提交到存储库来管理堆栈。

有关模板的更多信息,包括 AWS CloudFormation 模板设计器的示例和演练,请参阅 使用 AWS CloudFormation 模板

模板定义存储库

模板定义存储库是通过 Git sync 链接到 CloudFormation 的 Git 存储库。监控存储库中 CloudFormation 模板和堆栈部署文件的更改。提交文件更改后,关联的堆栈会自动更新。

重要

在 Git sync 控制台中配置模板定义存储库时,请从 Git 连接中选择正确的存储库分支。Git sync 仅监控配置的存储库和分支,了解 CloudFormation 模板和堆栈部署文件的更改。

Git sync 支持 GitHubGitHub EnterpriseGitLabBitbucket 存储库。