如果您有自己的部署工具和工作流程,可以將範本或應用程式下載為 Terraform 檔案。
系統會產生下列 Terraform 檔案:
main.tf:基礎架構程式碼,包含範本中每個元件的模組。outputs.tf:公開已部署基礎架構元件的相關資訊。variables.tf:宣告main.tf檔案中使用的變數名稱、類型和說明。input.tfvars:定義main.tf檔案中使用的變數值。providers.tf:定義有助於 Terraform 與 Google Cloud API 和資源互動的標籤。
如需背景資訊,請參閱「Terraform onGoogle Cloud總覽」。
如果沒有自己的部署工具和工作流程,請參閱「從Google Cloud 控制台部署應用程式」。
事前準備
如要執行本文中的工作,請要求管理員在啟用應用程式的資料夾或管理專案中,授予您下列表格列出的必要角色:
| 工作 | 必要的角色 |
|---|---|
| 將產生的 Terraform 程式碼匯出至本機或原始碼控管存放區 | 應用程式管理員 (roles/designcenter.applicationAdmin) 或應用程式編輯者 (roles/designcenter.applicationEditor) |
如要進一步瞭解角色,請參閱「使用 IAM 控管存取權」。
匯出 Terraform 程式碼
如要在 Google Cloud以外的位置維護範本和應用程式,可以產生 Terraform 並匯出至本機或程式碼存放區。
匯出至本機
您可以匯出從範本或應用程式產生的 Terraform 程式碼。
範本
前往 Google Cloud 控制台的「Templates」(範本) 頁面。
按一下要匯出的範本 ID。
按一下「取得驗證碼」。
系統會將 ZIP 檔案下載到本機電腦。您可以使用自己的部署工具和工作流程部署應用程式。
應用程式
前往 Google Cloud 控制台的「Applications」頁面。
按一下要匯出的「應用程式名稱」。
按一下「取得驗證碼」。
系統會將 ZIP 檔案下載至本機電腦。您可以使用自己的部署工具和工作流程部署應用程式。
匯出至存放區
如要透過原始碼管理存放區維護範本,您可以將範本和應用程式匯出至 GitHub。然後,您可以使用現有的版本控管工作流程,並透過自己的 CI/CD 管道觸發建構、測試和部署作業。
連結至存放區
如要在 GitHub 存放區和管理專案之間建立 Developer Connect 連線,請按照下列步驟操作:
變更貴機構的政策,將下列服務新增至允許清單:
developerconnect.googleapis.com。secretmanager.googleapis.com。
如要瞭解如何變更組織政策,請參閱使用限制資源服務使用情形限制條件。
建立與 GitHub 存放區的 Developer Connect 連線,包括:
- 選取「啟用資料落地設定」。
- 連結要匯出應用程式的存放區。
如要瞭解如何建立連線及連結存放區,請參閱「連結 GitHub」。
如要複製存放區 URI,請按照下列步驟操作:
- 開啟「Developer Connect Git repositories」(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 存放區中的分支。
查看存放區,確認應用程式已成功匯出。
後續步驟
- 根據 Google 範本建構預先設定的架構。
- 您可以設計應用程式範本,自行定義設定。
- 如要瞭解如何在 Google Cloud 上使用 Terraform,請參閱 Terraform on Google Cloud 總覽。