本教學課程說明如何使用設定變數 (預覽版),自動將不同 Google Cloud 專案中的不同環境整合。
總覽
在本教學課程中,您將使用範例整合項目的設定變數,自動部署 Application Integration。這個整合流程範例會呼叫 API,並將 API 的回應發布至 Pub/Sub 主題。這個範例旨在說明如何使用「呼叫 REST 端點」和「連線器」工作。您可以將範例整合儲存在對應不同環境和專案的 GitHub 存放區。 Google Cloud目標
本教學課程說明如何在整合中完成下列工作:
- 建立整合項目。
- 建立設定變數,並在整合作業中使用。
- 將整合項目升級至其他環境。
費用
本教學課程使用下列 Google Cloud 計費元件:
本教學課程的指示旨在將資源用量維持在 Google Cloud 免費雲端功能和試用優惠的限制內。
完成本文所述工作後,您可以刪除已建立的資源,避免繼續計費。詳情請參閱清除所用資源一節。
事前準備
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Secret Manager API, Connectors API APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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
). - Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Secret Manager API, Connectors API APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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
). - Click Continue.
-
Click Done to finish creating the service account.
-
前往 Google Cloud 控制台的 Pub/Sub「主題」頁面。
按一下「建立主題」。
在「主題 ID」欄位中,輸入主題的 ID。如要進一步瞭解如何命名主題,請參閱主題、訂閱項目、結構定義或快照的命名規範 。
保留「新增預設訂閱項目」選項。
請勿選取其他選項。
按一下「建立主題」。
- 在 Google Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分中,選擇連線位置。
- 區域:從下拉式清單中選取位置。
如需所有支援的地區清單,請參閱「位置」一文。
- 點按「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器的下拉式清單中選取「Pub/Sub」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「連線名稱」欄位中輸入
pub-sub-connector
。 - 服務帳戶:選取具備必要角色的服務帳戶。
- 專案 ID:Pub/Sub 執行個體所在的專案 ID。 Google Cloud
- 主題 ID:輸入 Pub/Sub 主題的名稱。
- 點選「下一步」。
- 在「驗證」部分中,按一下「下一步」。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
- 按一下「建立整合」
- 整合名稱:輸入整合名稱。例如:
build-cicd
。 - 說明:視需要輸入整合功能的說明。例如:
Demo integration created for CICD tutorial
。 - 區域:從已佈建的區域清單中選取區域
us-central1
。如果想選取的區域未佈建,請參閱「佈建新區域」。如要查看支援的地區清單,請參閱「Application Integration 位置」。 - 服務帳戶:如果您已為所在區域啟用控管功能,就會看到這個欄位。 選取整合的服務帳戶。如要瞭解如何為區域啟用控管功能,請參閱「編輯區域」。
- 按一下「建立」,系統會開啟整合服務編輯器頁面,您可以在其中新增工作和觸發條件,以建構整合作業。
,然後在「建立整合」頁面中提供下列詳細資料:
- 整合名稱:輸入整合名稱。例如:
- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 在導覽選單中,按一下「整合」
系統隨即會顯示「整合清單」頁面,列出 Google Cloud 專案中的所有可用整合功能。
- 選取
build-cicd
整合服務。系統會在整合編輯器中開啟整合服務。
- 在整合服務編輯器的導覽列中,依序點選「Triggers」(觸發條件)>「API Trigger」(API 觸發條件),即可新增觸發條件。
- 在整合服務編輯器的導覽列中,依序點選「Tasks」(任務)>「Call REST Endpoint」(呼叫 REST 端點),即可新增這項任務。
- 將滑鼠懸停在「API trigger」(API 觸發條件) 元素上的控制點,接著點選線條並拖曳到「Call REST Endpoint」(呼叫 REST 端點) 任務元素上的控制點,即可從「API trigger」(API 觸發條件) 元素至「Call REST Endpoint」(呼叫 REST 端點) 元素新增邊緣連線。
- 在整合服務編輯器的導覽列中,按一下 (切換面板) 叫出「變數」窗格。
- 點選「+建立」。
- 在「建立變數」窗格中執行下列操作:
- 在「Name」(名稱) 中輸入
url
。Application Integration 會在設定變數中加入
`CONFIG_
前置字串。如要使用 API 將設定變數新增至整合服務,請採用以下格式:`CONFIG_CONFIG_VARIABLE_NAME`
。如要瞭解如何下載及上傳整合項目,請參閱「上傳及下載整合項目」。 - 在「變數類型」部分中,選取「設定變數」。
- 在「資料類型」部分選取「字串」。
- 按一下「建立」,
設定變數會顯示在「變數」窗格中。
- 在「Name」(名稱) 中輸入
- 重複步驟 2 和 3,新增下列設定變數:
- 名稱:
connection_name
- 變數類型:
Config Variable
- 資料類型:
String
- 名稱:
- 在整合服務編輯器中,按一下「Call REST Endpoint」(呼叫 REST 端點) 任務,開啟任務設定窗格。接著,按照下列步驟操作:
- 展開「工作輸入」部分。
- 在「端點基本網址」中,按一下「變數」並新增
$`CONFIG_url`$
。
- 在整合編輯器的導覽列中,依序點選「工作」>「連線器」。
- 按一下「設定連接器」。
- 從「Region」(區域) 清單中,選取您建立 Pub/Sub 連接器的區域。
- 在「連線」欄位中,選取您在上一個步驟中建立的「Pub/Sub 連接器」。
- 在「類型」部分中,選取「動作」。
- 在「設定實體/動作」部分,選取「動作」的「publishMessage」。
- 在「預設值」中,新增設定變數的預設值。
- 點選「建立」。
- 在「Connectors」(連接器) 任務設定窗格中,展開「Connection details」(連線詳細資料) 區段,更新下列欄位:
- 在「連線名稱」欄位中,按一下「變數」並選取
$`CONFIG_connection_name`$
。
- 在「連線名稱」欄位中,按一下「變數」並選取
- 在整合編輯器的導覽列中,依序點選「工作」> 資料對應。
- 將滑鼠懸停在「Call REST Endpoint」(呼叫 REST 端點) 元素上的控制點,然後點選線條並拖曳到「Data Mapping」(資料對應) 任務元素上的控制點,即可從「Call REST Endpoint」(呼叫 REST 端點) 元素至「Data Mapping」(資料對應) 元素新增邊緣連線。
- 將滑鼠懸停在「資料對應」元素上的控制點,接著點選線條並拖曳到「連接器」任務元素上的控制點,即可從「資料對應」元素至「連接器」元素新增另一個邊緣連線。
- 在「資料對應」工作設定窗格中,按一下「開啟資料對應編輯器」。
- 將「呼叫 REST 端點」工作輸出變數對應至「連接器」工作輸入變數。
- 如要發布整合項目,請在整合服務編輯器的工具列中,按一下「發布」。
系統會顯示「發布整合」對話方塊。
- 在「發布整合」對話方塊中,輸入下列設定變數的值:
url
:輸入端點網址的名稱。connection_name
:輸入您在上一個步驟中建立的 Pub/Sub 連接器名稱。
- 按一下 [發布]。
- 成功發布整合項目後,您可以查看並檢查已發布整合項目的執行記錄。如要查看記錄,請按一下整合服務編輯器工具列中的「記錄」。
- 在 GitHub 探索整合範例。
- 進一步瞭解設定變數。
- 進一步瞭解
integrationcli
工具。
建立 Pub/Sub 主題
設定 Pub/Sub 連接器
建立新的整合功能
設定應用程式整合後,即可建立新的整合:
建立整合流程
新增 API 觸發條件和呼叫 REST 端點
如要新增 API 觸發條件,請按照下列步驟操作:建立設定變數
如要建立設定變數,請按照下列步驟操作:新增及設定「呼叫 REST 端點」
如要建立設定變數,請按照下列步驟操作:新增及設定連接器工作
新增資料對應工作
發布整合項目
如要發布整合功能,請按照下列步驟操作:在不同環境中宣傳整合項目
如要在各個環境中宣傳整合功能,可以使用 integrationcli
工具。這項開放原始碼工具可讓您與 Application Integration API 和 Integration Connectors API 互動。這項工具可讓您管理整合實體,例如整合、驗證設定等。如要瞭解如何產生整合的架構,以及套用架構產生的變更,請參閱社群網誌的「Introduction to integrationcli
」。
您也可以設定 DevOps 管道 (例如使用 Jenkins、GitLab、Cloud Build 等),在不同環境中升級變更。詳情請參閱「與 Cloud Build 整合」。
如果不想使用 integrationcli
,可以手動下載並上傳整合項目至新專案。您必須在新專案中手動建立連結器,因為目前無法下載連結器。在新環境中發布整合時,Application Integration 可讓您輸入設定變數的值。