為整合作業建構 CI/CD


本教學課程說明如何使用設定變數 (預覽版),自動將不同 Google Cloud 專案中的不同環境整合。

總覽

在本教學課程中,您將使用範例整合項目的設定變數,自動部署 Application Integration。這個整合流程範例會呼叫 API,並將 API 的回應發布至 Pub/Sub 主題。這個範例旨在說明如何使用「呼叫 REST 端點」和「連線器」工作。您可以將範例整合儲存在對應不同環境和專案的 GitHub 存放區。 Google Cloud

目標

本教學課程說明如何在整合中完成下列工作:

  • 建立整合項目。
  • 建立設定變數,並在整合作業中使用。
  • 將整合項目升級至其他環境。

費用

本教學課程使用下列 Google Cloud 計費元件:

本教學課程的指示旨在將資源用量維持在 Google Cloud 免費雲端功能和試用優惠的限制內。

完成本文所述工作後,您可以刪除已建立的資源,避免繼續計費。詳情請參閱清除所用資源一節。

事前準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Secret Manager API, Connectors API APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Secret Manager API, Connectors API APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    6. Click Continue.
    7. Click Done to finish creating the service account.

  10. 建立 Pub/Sub 主題

    1. 前往 Google Cloud 控制台的 Pub/Sub「主題」頁面。

      前往「主題」

    2. 按一下「建立主題」

    3. 在「主題 ID」欄位中,輸入主題的 ID。如要進一步瞭解如何命名主題,請參閱主題、訂閱項目、結構定義或快照的命名規範

    4. 保留「新增預設訂閱項目」選項。

    5. 請勿選取其他選項。

    6. 按一下「建立主題」

    設定 Pub/Sub 連接器

    1. Google Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

      前往「連線」頁面

    2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
    3. 在「位置」部分中,選擇連線位置。
      1. 區域:從下拉式清單中選取位置。

        如需所有支援的地區清單,請參閱「位置」一文。

      2. 點按「下一步」
    4. 在「連線詳細資料」部分,完成下列步驟:
      1. 連接器:從可用連接器的下拉式清單中選取「Pub/Sub」
      2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
      3. 在「連線名稱」欄位中輸入 pub-sub-connector
      4. 服務帳戶:選取具備必要角色的服務帳戶。
      5. 專案 ID:Pub/Sub 執行個體所在的專案 ID。 Google Cloud
      6. 主題 ID:輸入 Pub/Sub 主題的名稱。
      7. 點選「下一步」
    5. 在「驗證」部分中,按一下「下一步」
    6. 檢查:檢查連線和驗證詳細資料。
    7. 點選「建立」

    建立新的整合功能

    設定應用程式整合後,即可建立新的整合:

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

      前往「Application Integration」

    2. 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
    3. 按一下「建立整合」,然後在「建立整合」頁面中提供下列詳細資料:
      1. 整合名稱:輸入整合名稱。例如:build-cicd
      2. 說明:視需要輸入整合功能的說明。例如:Demo integration created for CICD tutorial
      3. 區域:從已佈建的區域清單中選取區域 us-central1。如果想選取的區域未佈建,請參閱「佈建新區域」。如要查看支援的地區清單,請參閱「Application Integration 位置」。
      4. 服務帳戶:如果您已為所在區域啟用控管功能,就會看到這個欄位。 選取整合的服務帳戶。如要瞭解如何為區域啟用控管功能,請參閱「編輯區域」。
      5. 按一下「建立」,系統會開啟整合服務編輯器頁面,您可以在其中新增工作觸發條件,以建構整合作業。

    建立整合流程

    新增 API 觸發條件和呼叫 REST 端點

    如要新增 API 觸發條件,請按照下列步驟操作:
    1. 前往 Google Cloud 控制台的「Application Integration」頁面。

      前往「Application Integration」

    2. 在導覽選單中,按一下「整合」

      系統隨即會顯示「整合清單」頁面,列出 Google Cloud 專案中的所有可用整合功能。

    3. 選取 build-cicd 整合服務。

      系統會在整合編輯器中開啟整合服務。

    4. 整合服務編輯器的導覽列中,依序點選「Triggers」(觸發條件)>「API Trigger」(API 觸發條件),即可新增觸發條件。
    5. 整合服務編輯器的導覽列中,依序點選「Tasks」(任務)>「Call REST Endpoint」(呼叫 REST 端點),即可新增這項任務。
    6. 將滑鼠懸停在「API trigger」(API 觸發條件) 元素上的控制點,接著點選線條並拖曳到「Call REST Endpoint」(呼叫 REST 端點) 任務元素上的控制點,即可從「API trigger」(API 觸發條件) 元素至「Call REST Endpoint」(呼叫 REST 端點) 元素新增邊緣連線。

    建立設定變數

    如要建立設定變數,請按照下列步驟操作:
    1. 在整合服務編輯器的導覽列中,按一下 (切換面板) 叫出「變數」窗格。
    2. 點選「+建立」
    3. 在「建立變數」窗格中執行下列操作:
      1. 在「Name」(名稱) 中輸入 url

        Application Integration 會在設定變數中加入 `CONFIG_ 前置字串。如要使用 API 將設定變數新增至整合服務,請採用以下格式:`CONFIG_CONFIG_VARIABLE_NAME`。如要瞭解如何下載及上傳整合項目,請參閱「上傳及下載整合項目」。

      2. 在「變數類型」部分中,選取「設定變數」
      3. 在「資料類型」部分選取「字串」
      4. 按一下「建立」

        設定變數會顯示在「變數」窗格中。

    4. 重複步驟 2 和 3,新增下列設定變數:
      • 名稱:connection_name
      • 變數類型: Config Variable
      • 資料類型: String

    新增及設定「呼叫 REST 端點」

    如要建立設定變數,請按照下列步驟操作:
    1. 整合服務編輯器中,按一下「Call REST Endpoint」(呼叫 REST 端點) 任務,開啟任務設定窗格。接著,按照下列步驟操作:
      1. 展開「工作輸入」部分。
      2. 在「端點基本網址」中,按一下「變數」並新增 $`CONFIG_url`$

    新增及設定連接器工作

    1. 整合編輯器的導覽列中,依序點選「工作」>「連線器」
    2. 按一下「設定連接器」
    3. 從「Region」(區域) 清單中,選取您建立 Pub/Sub 連接器的區域。
    4. 在「連線」欄位中,選取您在上一個步驟中建立的「Pub/Sub 連接器」
    5. 在「類型」部分中,選取「動作」
    6. 在「設定實體/動作」部分,選取「動作」的「publishMessage」
    7. 在「預設值」中,新增設定變數的預設值。
    8. 點選「建立」
    9. 在「Connectors」(連接器) 任務設定窗格中,展開「Connection details」(連線詳細資料) 區段,更新下列欄位:
      1. 在「連線名稱」欄位中,按一下「變數」並選取 $`CONFIG_connection_name`$

    新增資料對應工作

    1. 整合編輯器的導覽列中,依序點選「工作」> 資料對應
    2. 將滑鼠懸停在「Call REST Endpoint」(呼叫 REST 端點) 元素上的控制點,然後點選線條並拖曳到「Data Mapping」(資料對應) 任務元素上的控制點,即可從「Call REST Endpoint」(呼叫 REST 端點) 元素至「Data Mapping」(資料對應) 元素新增邊緣連線。
    3. 將滑鼠懸停在「資料對應」元素上的控制點,接著點選線條並拖曳到「連接器」任務元素上的控制點,即可從「資料對應」元素至「連接器」元素新增另一個邊緣連線。
    4. 在「資料對應」工作設定窗格中,按一下「開啟資料對應編輯器」
    5. 將「呼叫 REST 端點」工作輸出變數對應至「連接器」工作輸入變數。

    發布整合項目

    如要發布整合功能,請按照下列步驟操作:
    1. 如要發布整合項目,請在整合服務編輯器的工具列中,按一下「發布」

      系統會顯示「發布整合」對話方塊。

    2. 在「發布整合」對話方塊中,輸入下列設定變數的值:
      1. url:輸入端點網址的名稱。
      2. connection_name:輸入您在上一個步驟中建立的 Pub/Sub 連接器名稱。
    3. 按一下 [發布]
    4. 成功發布整合項目後,您可以查看並檢查已發布整合項目的執行記錄。如要查看記錄,請按一下整合服務編輯器工具列中的「記錄」

    在不同環境中宣傳整合項目

    如要在各個環境中宣傳整合功能,可以使用 integrationcli 工具。這項開放原始碼工具可讓您與 Application Integration APIIntegration Connectors API 互動。這項工具可讓您管理整合實體,例如整合、驗證設定等。如要瞭解如何產生整合的架構,以及套用架構產生的變更,請參閱社群網誌的「Introduction to integrationcli」。

    您也可以設定 DevOps 管道 (例如使用 Jenkins、GitLab、Cloud Build 等),在不同環境中升級變更。詳情請參閱「與 Cloud Build 整合」。

    如果不想使用 integrationcli,可以手動下載並上傳整合項目至新專案。您必須在新專案中手動建立連結器,因為目前無法下載連結器。在新環境中發布整合時,Application Integration 可讓您輸入設定變數的值。

    後續步驟