下載及部署 Terraform

如果您有自己的部署工具和工作流程,可以將範本或應用程式下載為 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 控制台部署應用程式」。

事前準備

請管理員在已啟用應用程式的資料夾或管理專案中,授予您下列其中一個角色

  • 應用程式管理員 (roles/designcenter.applicationAdmin)。
  • 應用程式編輯者 (roles/designcenter.applicationEditor)。

匯出 Terraform 程式碼

如要在 Google Cloud以外的位置維護範本和應用程式,可以產生 Terraform 並匯出至本機或程式碼存放區。

匯出至本機

您可以匯出從範本或應用程式產生的 Terraform 程式碼。

範本

  1. 前往 Google Cloud 控制台的「Templates」(範本) 頁面。

    前往「範本」頁面

  2. 按一下要匯出的「範本 ID」

  3. 按一下「取得驗證碼」

    系統會將 ZIP 檔案下載到您的本機電腦。您可以使用自己的部署工具和工作流程部署應用程式。

應用程式

  1. 前往 Google Cloud 控制台的「Applications」頁面。

    前往「Applications」(應用程式)

  2. 按一下要匯出的「應用程式名稱」

  3. 按一下「取得驗證碼」

    系統會將 ZIP 檔案下載到您的本機電腦。您可以使用自己的部署工具和工作流程部署應用程式。

匯出至存放區

如要透過原始碼管理存放區維護範本,您可以將範本和應用程式匯出至 GitHub。舉例來說,您可能會匯出資料以執行下列操作:

  • 使用現有的版本控制工作流程。
  • 使用自己的 CI/CD 管道觸發建構、測試和部署作業。

連結至存放區

如要在 GitHub 存放區和管理專案之間建立 Developer Connect 連線,請按照下列步驟操作:

  1. 變更貴機構的政策,將下列服務新增至允許清單:

    1. developerconnect.googleapis.com
    2. secretmanager.googleapis.com

    如要瞭解如何變更機構政策,請參閱「使用限制資源服務用量限制」。

  2. 建立與 GitHub 存放區的 Developer Connect 連線,包括:

    1. 選取「啟用資料落地設定」
    2. 連結要匯出應用程式的存放區。

    如要瞭解如何建立連線及連結存放區,請參閱「連結 GitHub」。

  3. 如要複製存放區 URI,請按照下列步驟操作:

    1. 開啟「Developer Connect Git repositories」(Developer Connect Git 存放區) 頁面。
    2. 在「存放區」表格中,按一下「更多選項」,然後選取「複製資源路徑」

生成並匯出

如要產生 Terraform 程式碼並匯出至 GitHub 存放區,請按照下列步驟操作:

範本

  1. 找出聊天室 ID。

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    更改下列內容:

    • PROJECT:管理專案 ID。
    • LOCATION:您的位置 ID。
  2. 找出要匯出範本的範本 ID

    gcloud design-center spaces application-templates list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    更改下列內容:

    • SPACE:您的空間 ID。
    • PROJECT:管理專案 ID。
    • LOCATION:您的位置 ID。
  3. 產生範本的 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

  4. 查看存放區,確認範本已成功匯出。

應用程式

  1. 找出聊天室 ID。

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    更改下列內容:

    • PROJECT:管理專案 ID。
    • LOCATION:您的位置 ID。
  2. 找出要匯出應用程式的應用程式 ID。

    gcloud design-center spaces applications list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    更改下列內容:

    • SPACE:您的空間 ID。
    • PROJECT:管理專案 ID。
    • LOCATION:您的位置 ID。
  3. 產生應用程式的 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

  4. 查看存放區,確認應用程式已成功匯出。

後續步驟

Terraform on Google Cloud 總覽