Application Design Center תומך בכמה Google Cloud מוצרים שאפשר להוסיף כרכיבים לאפליקציה. כדי להשתמש בגרסה משלכם של הרכיבים האלה או להוסיף רכיבים אחרים, צריך לייבא את מודולי Terraform אל App Design Center.
מודולים של Terraform הם הגדרות לשימוש חוזר למוצרי Google Cloud . ייבוא מודולים של Terraform עוזר לכם:
- להאיץ את פיתוח האפליקציות ולשלוט בו.
- אפשר לעשות שימוש חוזר בהחלטות עיצוב קיימות ב-App Design Center.
- עוזרים למפתחי אפליקציות לפעול בהתאם למדיניות העיצוב שקבעתם.
כשמייבאים מודול Terraform, App Design Center יוצר תבנית רכיב תואמת בקטלוג של המרחב. לאחר מכן תוכלו להשתמש בתבנית כרכיב בתבנית העיצוב של האפליקציה.
כדי לקבל מידע על Terraform ב- Google Cloud, אפשר לעיין במקורות הבאים:
לפני שמתחילים
כדי לבצע את המשימות שמתוארות במסמך הזה, צריך לבקש מהאדמין להקצות לכם את התפקידים הנדרשים בתיקייה לניהול אפליקציות או בפרויקט הניהול, כמו שמופיע בטבלה הבאה:
| משימה | התפקידים הנדרשים |
|---|---|
| ייבוא מודולים של Terraform כרכיבים בהתאמה אישית | אדמין של Application Design Center (roles/designcenter.admin) או משתמש של Application Design Center (roles/designcenter.user) |
מידע נוסף על תפקידים זמין במאמר בקרת גישה באמצעות IAM.
הגדרה וייבוא של מודולים
כדי להתחבר ל-GitHub, ליצור קובץ מטא-נתונים ולייבא מודול Terraform, צריך לבצע את השלבים הבאים.
התחברות למאגר באמצעות Developer Connect
יוצרים חיבור Developer Connect למאגר GitHub שבו מאוחסנים מודולי Terraform Google Cloud . תשתמשו בחיבור הזה כשמייבאים.
יוצרים חיבור Developer Connect.
הוראות מפורטות מופיעות במאמר בנושא התחברות אל GitHub.
יוצרים קישור למאגר Developer Connect.
הוראות מפורטות מופיעות במאמר בנושא הוספת קישורים למאגרים לחיבורים קיימים.
אופציונלי: הכנת מטא-נתונים של מודול Terraform
כשמייבאים מודול Terraform, אפשר לספק מטא-נתונים משלכם או לאפשר ל-App Design Center ליצור קובץ מטא-נתונים בשבילכם.
לדוגמה, הנה קובץ metadata.yaml שאפשר ליצור עבור חשבון שירות:
spec:
info:
actuationTool:
flavor: Terraform
version: ">= 1.3"
interfaces: # Optional
variables:
- name: service_account
connections:
- source:
source: github.com/terraform-google/terraform-google-service-accounts
version: ">= 4.4"
spec:
outputExpr: email
requirements:
roles: # Optional after IAM integrations
- level: Project
roles:
- roles/iam.serviceAccountUser
- roles/iap.admin
- roles/run.admin
- roles/iam.serviceAccountAdmin
providerVersions:
- source: hashicorp/google
version: ">= 6, < 7"
- source: hashicorp/google-beta
version: ">= 6, < 7"
ui: # Optional
input:
variables:
ca_root_module:
name: ca_root_module
title: CA Root Module
service_account:
name: service_account
title: Service Account
ייבוא מהמאגר
אפשר ליצור רכיב של App Design Center על ידי ייבוא מודול Terraform שמבוסס על מוצר יחיד Google Cloud . אם מבצעים שינויים במודול Terraform במאגר, חוזרים על השלבים האלה כדי לייבא את השינויים.
כדי לייבא את מודול Terraform:
מזהים את הקטלוג שבו רוצים ליצור את הרכיב.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה פרויקט הניהול. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב.
מידע נוסף זמין במאמר gcloud design-center spaces catalogs list.
-
יוצרים תבנית קטלוג בקטלוג הפרטי של המרחב.
gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --template-category=component-templateמחליפים את מה שכתוב בשדות הבאים:
-
COMPONENT_TEMPLATE: מזהה התבנית של תבנית הרכיב שרוצים ליצור. -
PROJECT: מזהה פרויקט הניהול. -
CATALOG: מזהה הקטלוג. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב.
מידע נוסף זמין במאמר gcloud design-center spaces catalogs templates create.
-
יוצרים עדכון של תבנית קטלוג על סמך מודול Terraform במאגר.
gcloud design-center spaces catalogs templates revisions create REVISION \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --template=COMPONENT_TEMPLATE \ --developer-connect-repo=DEVELOPER_CONNECT_REPO \ --developer-connect-repo-ref=DEVELOPER_CONNECT_REPO_REF \ --developer-connect-repo-dir=DEVELOPER_CONNECT_REPO_DIR \ --metadata=METADATAמחליפים את מה שכתוב בשדות הבאים:
-
REVISION: מזהה הגרסה של הגרסה שרוצים ליצור. -
PROJECT: מזהה פרויקט הניהול. -
CATALOG: מזהה הקטלוג. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב. -
COMPONENT_TEMPLATE: מזהה התבנית שיצרתם בשלב הקודם. -
DEVELOPER_CONNECT_REPO: מאגר Developer Connect שמשמש כמקור. לדוגמה,projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. -
DEVELOPER_CONNECT_REPO_REF: הענף או התג של Git במאגר. לדוגמה,refs/tags/v1.0.0אוrefs/heads/main. -
DEVELOPER_CONNECT_REPO_DIR: הספרייה במאגר. לדוגמה,modules/my-product. - כדי לציין את המטא-נתונים של מודול Terraform, מבצעים אחת מהפעולות הבאות:
- כדי להשתמש בקובץ מטא-נתונים משלכם, מחליפים את
METADATAבקובץmetadata.yamlשלכם. - כדי להשתמש אוטומטית בקובצי מטא-נתונים שנמצאים במאגר, לא מציינים את הסימון --metadata.
- כדי להשתמש בקובץ מטא-נתונים משלכם, מחליפים את
מידע נוסף זמין במאמר gcloud design-center spaces catalogs templates revisions create.
-
שיתוף הקטלוג עם מרחבים אחרים.
gcloud design-center spaces catalogs shares create SHARE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --destination-space=DESTINATION_SPACEמחליפים את מה שכתוב בשדות הבאים:
-
SHARE: מזהה השיתוף שרוצים ליצור. -
PROJECT: מזהה פרויקט הניהול. -
CATALOG: מזהה הקטלוג. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב. -
DESTINATION_SPACE: מזהה המרחב ליעד.
מידע נוסף זמין במאמר gcloud design-center spaces catalogs shares create.
-
יצירת תבנית של אפליקציה באמצעות רכיבים מיובאים
יוצרים תבנית של אפליקציה באמצעות הרכיבים המיובאים ורכיבים שסופקו על ידי Google.
יוצרים תבנית חדשה של אפליקציה.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACEמחליפים את מה שכתוב בשדות הבאים:
-
APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שרוצים ליצור. -
PROJECT: מזהה פרויקט הניהול. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב.
מידע נוסף זמין במאמר gcloud design-center spaces application-templates create.
-
מזהים את כתובות ה-URI של גרסאות התבנית עבור הרכיבים שרוצים להוסיף לתבנית.
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --uriמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה פרויקט הניהול. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב.
מידע נוסף זמין במאמר gcloud design-center spaces shared-templates list.
-
מוסיפים רכיב לתבנית האפליקציה.
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: מזהה הרכיב שרוצים להוסיף לתבנית. -
PROJECT: מזהה פרויקט הניהול. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב. -
APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שבה מוסיפים את הרכיב. -
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: מזהה הרכיב של הרכיב השני שרוצים להוסיף לתבנית. -
PROJECT: מזהה פרויקט הניהול. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב. -
APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שבה מוסיפים את הרכיב. -
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=SHARED_TEMPLATE_URI_2מחליפים את מה שכתוב בשדות הבאים:
-
CONNECTION: מזהה החיבור של החיבור שרוצים להוסיף לתבנית. -
PROJECT: מזהה פרויקט הניהול. -
LOCATION: מזהה המיקום. -
SPACE: מזהה המרחב. -
APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שבה מוסיפים את הרכיב. -
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 connections create.
-
המאמרים הבאים
- לפני שמבצעים פריסה, צריך ליצור אפליקציה.
- פריסת אפליקציות.
- מייצאים את קוד Terraform.