如果您有自己的部署工具和工作流,则可以将模板或应用下载为 Terraform 文件。
系统会生成以下 Terraform 文件:
main.tf:基础架构代码,其中包含模板中每个组件的模块。outputs.tf:公开有关已部署基础架构组件的信息。variables.tf:为main.tf文件中使用的变量声明名称、类型和说明。input.tfvars:为main.tf文件中使用的变量定义值。providers.tf:定义 有助于 Terraform 与 Google Cloud API 和资源交互的标签。
如需了解背景信息,请参阅 Terraform on 概览 Google Cloud。
如果您没有自己的部署工具和工作流,请参阅从控制台部署应用。Google Cloud
准备工作
如需执行本文档中的任务,请让您的管理员为您授予已启用应用功能的文件夹或管理项目的 必要角色,如下表所示:
| 任务 | 所需角色 |
|---|---|
| 在本地或源代码控制代码库中导出生成的 Terraform 代码 | Application Admin (roles/designcenter.applicationAdmin),或Application Editor ( roles/designcenter.applicationEditor) |
如需详细了解角色,请参阅使用 IAM 进行访问权限控制。
导出 Terraform 代码
如果您想在外部维护模板和应用 Google Cloud, 可以生成 Terraform 并导出到本地机器或代码 库。
在本地导出
您可以导出从模板或应用生成的 Terraform 代码。
模板
在 Google Cloud 控制台中,前往模板页面。
点击要导出的模板 ID 。
点击获取代码 。
系统会将一个 zip 文件下载到您的本地计算机。您可以使用自己的部署工具和工作流来部署应用。
应用
在 Google Cloud 控制台中,前往应用页面。
点击要导出的应用名称 。
点击获取代码 。
系统会将一个 zip 文件下载到您的本地计算机。您可以使用自己的部署工具和工作流来部署应用。
导出到代码库
如需通过源代码管理代码库维护模板,您可以将模板和应用导出到 GitHub。然后,您可以使用现有的版本控制工作流,并使用自己的 CI/CD 流水线触发构建、测试和部署。
连接到代码库
如需在 GitHub 代码库 和您的 管理项目之间创建 Developer Connect 连接,请执行以下操作:
更改组织政策,将以下服务添加到许可名单:
developerconnect.googleapis.com。secretmanager.googleapis.com。
如需了解更改组织政策的步骤,请参阅使用限制资源服务使用情况限制条件。
创建与 GitHub 代码库的 Developer Connect 连接,包括以下内容:
- 选择启用数据驻留 。
- 关联要将应用导出到的代码库。
如需了解创建连接和关联代码库的步骤,请参阅连接 GitHub。
如需复制代码库 URI,请执行以下操作:
- 打开 Developer Connect Git 代码库 页面。
- 在代码库 表格中,点击更多选项 ,然后选择复制资源路径 。
生成并导出
如需生成 Terraform 代码并导出到 GitHub 代码库,请执行以下操作:
模板
确定您的空间 ID。
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATION替换以下内容:
PROJECT:您的管理项目 ID。LOCATION:您的位置 ID。
确定要导出的模板的模板 ID。
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATION替换以下内容:
SPACE:您的空间 ID。PROJECT:您的管理项目 ID。LOCATION:您的位置 ID。
生成模板的 Terraform 代码,并导出到 GitHub。
gcloud design-center spaces application-templates generate APPLICATION_TEMPLATE \ --space=SPACE \ --project=PROJECT \ --location=LOCATION \ --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \ --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \ --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH替换以下内容:
APPLICATION_TEMPLATE:要导出的模板的模板 ID。SPACE:您的空间 ID。PROJECT:您的管理项目 ID。LOCATION:您的位置 ID。DEVELOPER_CONNECT_EXPORT_CONFIG_DIR:相对于 GitHub 代码库的目录。DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH:GitHub 代码库中的分支。
如需了解详情,请参阅 gcloud design-center spaces application-templates generate
查看代码库,验证模板是否已成功导出。
应用
确定您的空间 ID。
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATION替换以下内容:
PROJECT:您的管理项目 ID。LOCATION:您的位置 ID。
确定要导出的应用的应用 ID。
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATION替换以下内容:
SPACE:您的空间 ID。PROJECT:您的管理项目 ID。LOCATION:您的位置 ID。
生成应用的 Terraform 代码,并导出到 GitHub。
gcloud design-center spaces applications generate APPLICATION \ --space=SPACE \ --project=PROJECT \ --location=LOCATION \ --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \ --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \ --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH替换以下内容:
APPLICATION:要导出的应用的应用 ID。SPACE:您的空间 ID。PROJECT:您的管理项目 ID。LOCATION:您的位置 ID。DEVELOPER_CONNECT_EXPORT_CONFIG_DIR:相对于 GitHub 代码库的目录。DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH:GitHub 代码库中的分支。
如需了解详情,请参阅 gcloud design-center spaces applications generate
查看代码库,验证应用是否已成功导出。
后续步骤
- 通过构建 Google 模板,开始使用预配置的架构。
- 通过设计应用模板来定义自己的配置。
- 通过 Terraform on Google Cloud 概览 了解如何在 Terraform on Google Cloud 上使用 Terraform。