為整合作業建構 CI/CD

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

總覽

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

建立 Pub/Sub 主題

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

    前往「主題」

  2. 按一下「建立主題」

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

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

  5. 請勿選取其他選項。

  6. 按一下「建立主題」

設定 Pub/Sub 連接器

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

    前往「Connections」(連線) 頁面

  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. 點按「Create」(建立)。系統會開啟整合服務編輯器頁面,您可以在其中新增工作觸發條件,建構整合作業。

建立整合流程

新增 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」,即可新增這項工作。
  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. 點按「Create」(建立)

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

  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 可讓您輸入設定變數的值。

後續步驟