Amazon CloudFormation Git sync 概念和术语
本节将介绍基本的 Git sync 概念和术语。
Git sync 概述
以下简要概述介绍了 Git sync 的工作原理和使用方法。有关完整的教程,请参阅 Amazon CloudFormation Git sync 演练。
-
使用 CodeConnections 将 Git 提供程序连接到 CloudFormation。在本指南中,连接是通过连接控制台
创建的。或者,您也可以使用 Amazon CLI 创建连接。Git sync 支持 GitHub 、GitHub Enterprise 、GitLab 和 Bitbucket 。 -
提供一个用来定义堆栈的 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 堆栈的 Amazon 资源的声明。模板以 JavaScript Object Notation(JSON)或 YAML 标准格式的文件形式存储。您可以使用Application Composer或任意文本编辑器创建和保存模板。通过 Git sync,模板文件将存储在 Git 存储库中,并由堆栈部署文件引用。您可以通过编辑堆栈部署文件,将更改提交到存储库来管理堆栈。
有关更多信息,请参阅 使用 CloudFormation 模板。
模板定义存储库
模板定义存储库是通过 Git sync 链接到 CloudFormation 的 Git 存储库。监控存储库中 CloudFormation 模板和堆栈部署文件的更改。提交文件更改后,关联的堆栈会自动更新。
重要
在 Git sync 控制台中配置模板定义存储库时,请从 Git 连接中选择正确的存储库和分支。Git sync 仅监控配置的存储库和分支,了解 CloudFormation 模板和堆栈部署文件的更改。
Git sync 支持 GitHub