如要使用較小的可重複使用建構區塊建構複雜應用程式,請建立複合範本。舉例來說,您可以建立複合式範本,其中包含多個已連結的應用程式範本。
您也可以建立複合範本,為透過 App Lifecycle Manager 部署的 SaaS 產品,建立部署單元模型並封裝。詳情請參閱「建立部署單元模型並封裝」。
新增及連結標準應用程式範本和個別元件,設計複合式範本。這種模組化方法可讓您執行下列操作:
- 加快開發速度:從較小的建構區塊組裝複雜的應用程式。您可以在多個複合範本中重複使用每個標準應用程式範本。
- 啟用平行開發:讓模組化團隊專門負責特定建構區塊。舉例來說,資料庫團隊可以處理資料儲存和分析作業,盡量減少對應用程式邏輯團隊的依賴。
- 減少安全漏洞影響:開發人員可以更新或修正建構區塊,不必重新部署整個應用程式。
- 提升資安態勢:建立不同的服務帳戶來部署每個構成元素,藉此限制存取權。確保每個團隊只擁有其設定的構成元素權限。
本文說明如何設計、驗證及共用複合範本。
事前準備
如要執行本文中的工作,請要求管理員在啟用應用程式的資料夾或管理專案中,授予您下列表格列出的必要角色:
| 工作 | 必要的角色 |
|---|---|
| 建立、設計及編輯複合範本 | App Design Center 管理員 (roles/designcenter.admin) 或 App Design Center 使用者 (roles/designcenter.user) |
| 將複合範本發布或分享至目錄 | App Design Center 管理員 (roles/designcenter.admin) |
如要進一步瞭解角色,請參閱「使用 IAM 控管存取權」。
如要將自己的標準應用程式範本做為建構區塊,請設定輸入和輸出變數來建立可設定的變數,並在應用程式範本之間建立連線。詳情請參閱下列文章:
建立複合式應用程式範本
如要設計及共用複雜應用程式,請建立複合範本。您可以在範本設計中新增及連結下列項目:
標準應用程式範本:從下列現有範本中選取:
- Google 設計的範本, 採用 Google Cloud 最佳做法和預設安全性設定。
- 先前建立並新增至工作區目錄的範本。
元件:從下列 Google Cloud 資源中選取:
- Google 設計的元件, 採用 Google Cloud 最佳做法和預設安全設定。
- 您匯入的元件,以您自己的 Terraform 模組為基礎。
指定範本詳細資料
範本詳細資料可協助您分類範本,並幫助開發人員決定是否要使用範本。
如要輸入範本詳細資料,請按照下列步驟操作:
設計畫布
按一下導覽選單中的「範本」。
從「建立範本」清單中,選取「複合範本」。
系統會自動填入「範本 ID」欄位。或者,輸入範本的專屬 ID。這是必填欄位。
在「範本名稱」欄位中,輸入要顯示在 Google Cloud 控制台中的易讀 ID。
如果未提供名稱,系統會將範本 ID 複製到這個欄位。
在「Description」(說明) 欄位中,簡要說明應用程式的用途。
按一下「建立範本」,系統會顯示設計畫布。
gcloud CLI
建立新的複合應用程式範本。
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION \
--composition-type=COMPOSITE
更改下列內容:
APPLICATION_TEMPLATE:要建立的應用程式範本範本 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。DISPLAY_NAME:要在 Google Cloud 控制台中顯示的名稱。DESCRIPTION:簡短說明。
詳情請參閱 gcloud design-center spaces application-templates create。
設計範本
新增標準應用程式範本和元件,並連結至下列起點,即可設計複合範本:
- 空白畫布。
- Google 提供的範本。
- 透過 Gemini 協助生成的範本。
設計範本時,App Design Center 會產生 Terraform 程式碼,反映設計和設定詳細資料。
如要設計範本,請按照下列步驟操作:
設計畫布
在設計畫布中選取「設計」,即可查看畫布。
如要開始使用,請執行下列任一操作:
如要從 Google 提供的範本開始,請在畫布的「開始使用」區域中,按一下範本名稱。
如要從空白畫布開始,請繼續下一個步驟。
如要在畫布中新增標準應用程式範本,請按照下列步驟操作:
在「Components」(元件) 區域,按一下「Embed templates」(嵌入範本)。
如要新增現有範本,請在下列任一清單中點選範本:
- 範本:工作區目錄中的標準應用程式範本,或已與工作區共用的範本。
- Google 範本:由 Google 建立並新增至 Google 目錄的標準應用程式範本。
如要將選取的範本新增至畫布,請按一下「選取」。
如要建立新的標準應用程式範本,請按一下「建立新範本」。「建立新範本」頁面隨即開啟。
詳情請參閱「設計標準應用程式範本」。
如要在畫布中新增元件,請在「Components」(元件) 區域點選元件。
如要在範本和元件之間建立通訊管道,請執行下列任一操作:
從一個構成元素的藍點拖曳到另一個構成元素的藍點。
如要將連結的元件新增至現有元件,請按一下「新增」,然後選取要新增的元件。
如需連線詳細資料,請參閱各支援資源的設定說明文件。
如要移除構成元素或連線,請按照下列步驟操作:
在畫布中,按一下構成元素或連線。
在「設定」區域中,按一下「刪除」。
在欄位中輸入 delete。
點選「刪除」。
gcloud CLI
找出您空間目錄中建構區塊的範本修訂版本 URI。
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE更改下列內容:
PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。
找出要新增至範本的 Google 目錄建構區塊範本修訂版本 URI。
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1將標準應用程式範本或元件新增至複合範本。
gcloud design-center spaces application-templates components create COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --shared-template-revision-uri=SHARED_TEMPLATE_URI更改下列內容:
COMPONENT:要新增至範本的標準應用程式範本或元件 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。APPLICATION_TEMPLATE:要新增標準應用程式範本或元件的複合應用程式範本 ID。SHARED_TEMPLATE_URI:標準應用程式範本或共用範本 URI。例如:projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1。
詳情請參閱 gcloud design-center spaces application-templates components create。
在範本中新增第二個標準應用程式範本或元件。
gcloud design-center spaces application-templates components create COMPONENT_2 \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --shared-template-revision-uri=SHARED_TEMPLATE_URI_2更改下列內容:
COMPONENT_2:要新增至範本的第二個標準應用程式範本或元件 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。APPLICATION_TEMPLATE:要新增標準應用程式範本或元件的複合範本範本 ID。SHARED_TEMPLATE_URI_2:第二個標準應用程式範本或共用範本 URI 的元件。例如:projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1。
詳情請參閱 gcloud design-center spaces application-templates components create。
在標準應用程式範本或元件之間建立連結。
gcloud design-center spaces application-templates components connections create CONNECTION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --component=COMPONENT \ --destination-component-uri=COMPONENT_2更改下列內容:
CONNECTION:要新增至範本的連線 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。APPLICATION_TEMPLATE:您要新增連線的應用程式範本 ID。COMPONENT:來源標準應用程式範本或元件 ID。COMPONENT_2:目的地標準應用程式範本或元件 ID。
詳情請參閱 gcloud design-center spaces application-templates components connections create。
設定元件的預設值
針對您新增至範本的每個元件,您可以指定預設設定詳細資料,例如資源的專案和部署位置。從這個範本建立應用程式時,App Design Center 會套用這些預設值。
如果預設設定不符合需求,應用程式開發人員也可以修改連線詳細資料。舉例來說,您可以在建立應用程式時修改環境變數金鑰名稱、變更連線埠,或為服務帳戶新增其他角色。
開發人員部署應用程式前,可以查看及修改您在範本中設定的預設值。開發人員必須為每個支援的資源設定必要詳細資料。
如要設定元件和連線,請按照下列步驟操作:
設計畫布
在設計畫布中點選元件。
在「Configuration」(設定) 區域的「Project ID」(專案 ID) 清單中,選取要部署資源的專案。請選取符合下列資格的專案:
專案必須是所選啟用應用程式管理功能資料夾的子項。
專案不得為管理專案。
設定資源的其他設定。舉例來說,您可以為 Cloud SQL 設定下列項目:
- 區域
- 備份設定
- 資料庫標記
- IP 設定
如要查看各元件的設定說明文件連結,請參閱「支援的資源」。
在設計畫布上連結元件時,系統會使用預設設定值建立連線。如要新增或修改連線詳細資料,請按照下列步驟操作。
在設計畫布中,按一下兩個元件之間的連線。系統會開啟「連線」面板,並顯示連線參數。
執行下列其中一個步驟:
如要修改現有的連線參數,請按一下「編輯」。
如要新增連線參數,請按一下「新增參數」。
更新「鍵」和「值」欄位。舉例來說,您可能想修改下列詳細資料:
- 環境變數鍵名,可配合應用程式需求調整。
- 連線埠值。
- 新增至服務帳戶的角色。
按一下 [儲存]。
gcloud CLI
說明應用程式範本中的每個元件,即可查看元件參數。
gcloud design-center spaces application-templates components describe COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE更改下列內容:
COMPONENT:要說明的元件 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。APPLICATION_TEMPLATE:應用程式範本的範本 ID。
詳情請參閱 gcloud design-center spaces application-templates components describe。
針對要修改的每個元件,在主目錄中建立含有參數值的 JSON 檔案。
舉例來說,您可以為 Cloud Run 元件建立下列檔案:
[ { "key": "service_name", "value": "frontend-service" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT" } ]更新應用程式範本中的每個元件,設定必要參數。
gcloud design-center spaces application-templates components update COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --parameters=PARAMETERS_FILE_PATH \ --application-template=APPLICATION_TEMPLATE更改下列內容:
COMPONENT:要更新的元件 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。PARAMETERS_FILE_PATH:包含元件參數的 JSON 檔案。APPLICATION_TEMPLATE:應用程式範本的範本 ID。
詳情請參閱「gcloud design-center spaces application-templates components update」。
說明元件連線。
gcloud design-center spaces application-templates components connections describe CONNECTION \ --component=COMPONENT \ --application-template=APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE更改下列內容:
CONNECTION:連線 ID。COMPONENT:元件 ID。APPLICATION_TEMPLATE:範本 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。
詳情請參閱 gcloud design-center spaces application-templates components connections describe。
編輯元件連線參數。
gcloud design-center spaces application-templates components connections update CONNECTION \ --component=COMPONENT \ --application-template=APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --source-component-parameters='[{"key": SOURCE_KEY, "value": SOURCE_VALUE}]'更改下列內容:
CONNECTION:連線 ID。COMPONENT:元件 ID。APPLICATION_TEMPLATE:範本 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。SOURCE_KEY:新的參數鍵。SOURCE_VALUE:新的參數值。
詳情請參閱「gcloud design-center spaces application-templates components connections update」。
設定標準應用程式範本
開發人員將複合範本部署為應用程式時,系統會為下列各項建立應用程式:
- 每組標準應用程式範本。
- 每個元件群組。
您可以為每個群組提供預設值。舉例來說,您可能會納入部署專案、區域和擁有者。開發人員在 App Design Center 部署應用程式時,可以使用預設值,也可以為每個應用程式指定自己的詳細資料。
如要為每個群組提供預設應用程式詳細資料,請按照下列步驟操作:
設計畫布
在設計畫布中,按一下標準應用程式範本。
「嵌入式範本」面板隨即開啟。
在「設定」區域中,輸入應用程式詳細資料。
詳情請參閱「建立應用程式草稿」。
gcloud CLI
詳情請參閱「設計範本」。
驗證範本
與開發人員分享複合範本前,請先在 App Design Center 部署及驗證範本。這個步驟可協助您在多部電腦上大規模部署前,先驗證功能。
如要驗證範本,請按照下列步驟操作:
在設計畫布中,按一下「繼續」,然後選取「建立要部署的應用程式」。
「建立應用程式」面板隨即開啟。
在「複合式應用程式詳細資料」區域中,輸入應用程式詳細資料。
詳情請參閱「建立應用程式草稿」。
點選「下一步」。
部署時,系統會為您新增至複合範本的每個構成元素建立應用程式。請設定每個應用程式,然後按一下「下一步」。
詳情請參閱「建立應用程式草稿」。
測試已部署的應用程式,確認是否符合需求。
為避免產生週期性費用,請刪除測試部署作業。
建立縮放部署項目
如要部署及管理複合範本的多個執行個體,請使用 App Lifecycle Manager。
在 App Design Center 驗證範本。
在設計畫布中,按一下「繼續」,然後選取「透過 App Lifecycle Manager 大規模部署」。
「App Lifecycle Manager Units」(App Lifecycle Manager 單元) 頁面隨即開啟。
如需部署步驟,請參閱「部署 SaaS 產品」。
分享範本
如要讓開發人員使用範本,請將範本新增至目錄並共用。將範本新增至目錄後,範本就會成為共用目錄的工作區中的應用程式來源。
如要共用範本,請按照下列步驟操作:
在設計畫布中,按一下「Add to Catalog」(新增至目錄)。
如要管理共用目錄的工作區,請參閱「管理目錄」。
修改並重新分享範本
隨著您對應用程式的瞭解日漸深入,業務需求也會隨之演變,因此您可能需要更新範本。舉例來說,您可能會決定新增 Memorystore 服務來進行快取,藉此提升後端服務的效能。
修改範本時,系統會建立範本修訂版本。如要將變更套用至現有應用程式,開發人員必須使用修訂版本部署應用程式。
App Design Center 不會自動將範本修訂版本發布至目錄。如要分享最新修訂版本,請再次將範本發布至目錄。
如要建立新修訂版本,請按照下列步驟操作:
按一下導覽選單中的「範本」。
選取要修訂的應用程式範本,畫布隨即開啟。
修改範本,以符合新需求。舉例來說,您可以新增及設定新元件。
如要與其他工作區共用最新修訂版本,請再次將範本新增至目錄。
刪除範本
如果不再需要範本,可以將其刪除。
設計畫布
- 在設計畫布中,按一下 「動作」。
- 點選「刪除」。
gcloud CLI
刪除應用程式範本。
```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```
更改下列內容:
APPLICATION_TEMPLATE:要刪除的應用程式範本範本 ID。PROJECT:管理專案 ID。LOCATION:應用程式範本區域。SPACE:您的空間 ID。
詳情請參閱 gcloud design-center spaces application-templates delete。
後續步驟
- 透過部署 SaaS 產品,使用 App Lifecycle Manager 部署複合範本。
- 如要與其他工作區共用範本,請管理範本目錄。
- 匯入元件,在範本設計中使用自己的 Terraform 模組。