本教學課程說明如何使用設定變數,自動在不同 Google Cloud 專案的不同環境之間推送整合。
總覽
在本教學課程中,您將使用範例整合的設定變數,自動部署 Application Integration。這個範例整合流程會呼叫 API,並將 API 的回應發布至 Pub/Sub 主題。這個範例旨在說明如何使用「呼叫 REST 端點」和「連接器」工作。您可以將範例整合項目儲存在 GitHub 存放區,對應不同的環境和 Google Cloud 專案。目標
本教學課程說明如何在整合作業中完成下列工作:
- 建立整合項目。
- 建立設定變數,並在整合作業中使用。
- 將整合項目推送至其他環境。
費用
在本教學課程中,您會使用下列 Google Cloud 計費元件:
本教學課程提供的操作說明,可協助您將資源用量控制在 Google Cloud 免付費的 Google Cloud 功能和試用優惠額度內。
完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」。
事前準備
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Secret Manager API, Connectors API APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
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.
-
Ensure that you have the Create Service Accounts IAM role
(
建立 Pub/Sub 主題
前往 Google Cloud 控制台的 Pub/Sub「Topics」(主題) 頁面。
按一下「建立主題」。
在「Topic ID」(主題 ID) 欄位中,輸入主題 ID。如要進一步瞭解如何為主題命名,請參閱「主題、訂閱項目、結構定義或快照的命名規範」。
保留「Add a default subscription」(新增預設訂閱項目) 選項。
請勿選取其他選項。
按一下「建立主題」。
設定 Pub/Sub 連接器
- 在Google Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 新建」,開啟「建立連線」頁面。
- 在「Location」(位置) 部分,選擇連線位置。
- 「Region」(區域):從下拉式選單中選取位置。
如需所有支援區域的清單,請參閱「位置」。
- 點按「下一步」。
- 「Region」(區域):從下拉式選單中選取位置。
- 在「Connection Details」(連線詳細資料) 部分,完成下列操作:
- 連接器:從可用連接器的下拉式清單中,選取「Pub/Sub」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「Connection Name」(連線名稱) 欄位中,輸入
pub-sub-connector。 - 服務帳戶:選取具備必要角色的服務帳戶。
- 專案 ID:Pub/Sub 執行個體所在的 Google Cloud 專案 ID。
- 主題 ID:輸入 Pub/Sub 主題名稱。
- 點選「下一步」。
- 在「Authentication」(驗證) 部分,點選「NEXT」(下一步)。
- 查看:查看連線和驗證詳細資料。
- 點選「建立」。
建立新的整合功能
設定 Application Integration 後,即可建立新的整合:
- 在 Google Cloud 控制台中,前往「Application Integration」頁面。
- 按一下左側導覽選單中的「Integrations」(整合),開啟「Integrations」(整合) 頁面。
- 按一下「 建立整合」,然後在「建立整合」頁面中提供下列詳細資料:
- 整合名稱:輸入整合名稱。例如:
build-cicd。 - 說明:視需要輸入整合作業的說明。例如:
Demo integration created for CICD tutorial。 - 區域:從已佈建的區域清單中選取區域
us-central1。如果想選取的區域尚未佈建,請參閱「佈建新區域」一節。如要查看支援的地區清單,請參閱「Application Integration 位置」。 - 服務帳戶:如果您已啟用區域管理功能,就會看到這個欄位。選取整合作業的服務帳戶。如要瞭解如何為區域啟用管理功能,請參閱「編輯區域」。
- 點選「建立」。系統會開啟整合編輯器頁面,您可以在其中新增工作和觸發條件,建構整合作業。
- 整合名稱:輸入整合名稱。例如:
建立整合流程
新增 API 觸發條件和呼叫 REST 端點
如要新增 API 觸發條件,請按照下列步驟操作:- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 在導覽選單中,按一下「Integrations」(整合)
系統隨即會顯示「Integrations List」(整合清單) 頁面,列出 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 端點) 元素的邊緣連線。
建立設定變數
如要建立設定變數,請按照下列步驟操作:- 在整合編輯器導覽列中,按一下 (切換面板) 即可開啟「Variables」(變數) 窗格。
- 點選「+建立」。
- 在「Create Variable」(建立變數) 窗格中,執行下列操作:
- 在「Name」(名稱) 中輸入
url。Application Integration 會在設定變數中加入
`CONFIG_前置字串。如要使用 API 將設定變數新增至整合項目,請使用下列設定變數格式:`CONFIG_CONFIG_VARIABLE_NAME`。如要瞭解如何下載及上傳整合,請參閱「上傳及下載整合」。 - 在「變數類型」部分,選取「設定變數」。
- 在「資料類型」部分,選取「字串」。
- 點選「建立」。
設定變數會顯示在「Variables」(變數) 窗格中。
- 在「Name」(名稱) 中輸入
- 重複步驟 2 和 3,新增下列設定變數:
- 名稱:
connection_name - 變數類型:
Config Variable - 資料類型:
String
- 名稱:
新增及設定呼叫 REST 端點
如要建立設定變數,請按照下列步驟操作:- 在整合編輯器中,按一下「Call REST Endpoint」(呼叫 REST 端點) 任務,開啟任務設定窗格。接著,按照下列步驟操作:
- 展開「Task input」(工作輸入) 部分。
- 在「端點基準網址」中,按一下「變數」並新增
$`CONFIG_url`$。
新增及設定連接器工作
- 在整合編輯器導覽列中,依序點選「Task」>「Connectors」。
- 按一下「設定連接器」。
- 從「Region」(區域) 清單中,選取您建立 Pub/Sub 連接器的區域。
- 在「Connection」(連線) 欄位中,選取您在上述步驟中建立的 Pub/Sub 連接器。
- 在「類型」部分,選取「動作」。
- 在「Set entities/actions」部分,「Actions」請選取「publishMessage」。
- 在「預設值」中,新增設定變數的預設值。
- 點選「建立」。
- 在「連接器」工作設定窗格中,展開「連線詳細資料」部分,更新下列欄位:
- 在「Connection name」(連線名稱) 欄位中,按一下「Variable」(變數),然後選取
$`CONFIG_connection_name`$。
- 在「Connection name」(連線名稱) 欄位中,按一下「Variable」(變數),然後選取
新增資料對應工作
- 在整合編輯器導覽列中,依序點選「Task」>「資料對應」。
- 將滑鼠游標懸停在「Call REST Endpoint」(呼叫 REST 端點) 元素上的控制點,然後按一下並拖曳線條至「Data Mapping」(資料對應) 任務元素上的控制點,即可新增從「Call REST Endpoint」(呼叫 REST 端點) 元素至「Data Mapping」(資料對應) 元素的邊緣連線。
- 將滑鼠游標懸停在「資料對應」元素上的控制點,然後點選線條並拖曳到「連接器」工作元素上的控制點,即可從「資料對應」元素至「連接器」元素新增另一個邊緣連線。
- 在「資料對應工作設定」窗格中,按一下「開啟資料對應編輯器」。
- 將「呼叫 REST 端點」工作的輸出變數,對應至「連接器」工作的輸入變數。
發布整合作業
如要發布整合,請按照下列步驟操作:- 如要發布整合項目,請按一下整合編輯器工具列中的「Publish」(發布)。
系統會隨即顯示「Publish integration」(發布整合) 對話方塊。
- 在「Publish integration」(發布整合) 對話方塊中,輸入下列設定變數的值:
url:輸入端點網址的名稱。connection_name:輸入您在上一個步驟建立的 Pub/Sub 連接器名稱。
- 按一下「發布」。
- 成功發布整合項目後,您可以查看及檢查已發布整合項目的執行記錄。如要查看記錄,請按一下整合編輯器工具列中的「Logs」(記錄)。
在不同環境中推送整合項目
如要在不同環境中推送整合項目,可以使用 integrationcli 工具。這項開放原始碼工具可讓您與 Application Integration API 和 Integration Connectors API 互動。這項工具可讓您管理整合實體,例如整合、驗證設定等。如要瞭解如何產生整合的鷹架,以及套用鷹架產生的變更,請參閱社群網誌中的「integrationcli 簡介」。
您也可以設定 DevOps 管道 (例如使用 Jenkins、GitLab、Cloud Build 等),在不同環境中推送變更。詳情請參閱「與 Cloud Build 整合」。
如果不想使用 integrationcli,可以手動下載整合並上傳至新專案。目前無法下載連接器,因此您必須在新專案中手動建立連接器。在新環境中發布整合項目時,Application Integration 可讓您輸入設定變數的值。
後續步驟
- 在 GitHub 中探索整合範例。
- 進一步瞭解設定變數。
- 進一步瞭解
integrationcli工具。