Das Application Design Center unterstützt mehrere Google Cloud Produkte, die Sie Ihrer Anwendung als Komponenten hinzufügen können. Wenn Sie Ihre eigene Version dieser Komponenten verwenden oder andere Komponenten hinzufügen möchten, importieren Sie Ihre Terraform-Module in das App Design Center.
Terraform-Module sind wiederverwendbare Konfigurationen für Google Cloud -Produkte. Das Importieren von Terraform-Modulen bietet folgende Vorteile:
- Anwendungsentwicklung beschleunigen und steuern
- Sie können Ihre vorhandenen Designentscheidungen in App Design Center wiederverwenden.
- Anwendungsentwickler können so Ihre etablierten Designrichtlinien einhalten.
Wenn Sie ein Terraform-Modul importieren, erstellt App Design Center eine entsprechende Komponentenvorlage im Katalog Ihres Gruppenbereichs. Sie können die Vorlage dann als Komponente in Ihrem Anwendungsdesign verwenden.
Weitere Informationen zu Terraform für Google Cloudfinden Sie unter:
- Terraform-Übersicht
- Best Practices für Stil und Struktur (allgemein)
- Best Practices für wiederverwendbare Module
Hinweis
Bitten Sie Ihren Administrator, Ihnen die erforderlichen Rollen für den app-fähigen Ordner oder das Verwaltungsprojekt zuzuweisen, wie in der folgenden Tabelle aufgeführt:
| Aufgabe | Erforderliche Rollen |
|---|---|
| Terraform-Module als benutzerdefinierte Komponenten importieren | App Design Center Admin (roles/designcenter.admin) oderApp Design Center User ( roles/designcenter.user) |
Weitere Informationen zu Rollen finden Sie unter Zugriffssteuerung mit IAM.
Module konfigurieren und importieren
Führen Sie die folgenden Schritte aus, um eine Verbindung zu GitHub herzustellen, eine Metadatendatei zu erstellen und ein Terraform-Modul zu importieren.
Über Developer Connect mit Ihrem Repository verbinden
Erstellen Sie eine Developer Connect-Verbindung zum GitHub-Repository, in dem Sie Ihre Google Cloud Terraform-Module speichern. Sie verwenden diese Verbindung beim Importieren.
Erstellen Sie eine Developer Connect-Verbindung.
Eine Anleitung finden Sie unter Verbindung zu GitHub herstellen.
Erstellen Sie einen Developer Connect-Repository-Link.
Eine Anleitung finden Sie unter Repository-Links zu bestehenden Verbindungen hinzufügen.
Optional: Metadaten für Ihr Terraform-Modul vorbereiten
Wenn Sie Ihr Terraform-Modul importieren, können Sie eigene Metadaten angeben oder eine Metadatendatei vom App Design Center erstellen lassen.
Das Folgende ist beispielsweise eine metadata.yaml-Datei, die Sie für ein Dienstkonto erstellen können:
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
Aus Ihrem Repository importieren
Sie können eine App Design Center-Komponente erstellen, indem Sie ein Terraform-Modul importieren, das auf einem einzelnen Google Cloud -Produkt basiert. Wenn Sie Änderungen an Ihrem Terraform-Modul in Ihrem Repository vornehmen, wiederholen Sie diese Schritte, um die Änderungen zu importieren.
So importieren Sie Ihr Terraform-Modul:
Wählen Sie den Katalog aus, in dem Sie die Komponente erstellen möchten.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACEErsetzen Sie Folgendes:
PROJECT: Ihre Projekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.
Weitere Informationen finden Sie unter gcloud design-center spaces catalogs list.
Erstellen Sie eine Katalogvorlage im privaten Katalog Ihres Arbeitsbereichs.
gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --template-category=component-templateErsetzen Sie Folgendes:
COMPONENT_TEMPLATE: Die Vorlagen-ID für die Komponenten-Vorlage, die Sie erstellen möchten.PROJECT: Ihre Projekt-ID.CATALOG: Ihre Katalog-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.
Weitere Informationen finden Sie unter gcloud design-center spaces catalogs templates create.
Erstellen Sie eine Katalogvorlagenversion basierend auf dem Terraform-Modul in Ihrem Repository.
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=METADATAErsetzen Sie Folgendes:
REVISION: Die Revisions-ID für die Revision, die Sie erstellen möchten.PROJECT: Ihre Projekt-ID.CATALOG: Ihre Katalog-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.COMPONENT_TEMPLATE: Die Vorlagen-ID, die Sie im vorherigen Schritt erstellt haben.DEVELOPER_CONNECT_REPO: Das Developer Connect-Repository, das als Quelle verwendet werden soll. Beispiel:projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.DEVELOPER_CONNECT_REPO_REF: Der Git-Zweig oder das Git-Tag im Repository. Beispiel:refs/tags/v1.0.0oderrefs/heads/mainDEVELOPER_CONNECT_REPO_DIR: Das Verzeichnis im Repository. Beispiel:modules/my-product.- Gehen Sie so vor, um die Metadaten des Terraform-Moduls anzugeben:
- Wenn Sie eine eigene Metadatendatei verwenden möchten, ersetzen Sie
METADATAdurch Ihremetadata.yaml-Datei. - Wenn Sie automatisch Metadatendateien verwenden möchten, die sich in Ihrem Repository befinden, lassen Sie das Flag „--metadata“ nicht angegeben.
- Wenn Sie eine eigene Metadatendatei verwenden möchten, ersetzen Sie
Weitere Informationen finden Sie unter gcloud design-center spaces catalogs templates revisions create.
Katalog für andere Bereiche freigeben
gcloud design-center spaces catalogs shares create SHARE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE \ --destination-space=DESTINATION_SPACEErsetzen Sie Folgendes:
SHARE: Die Freigabe-ID für die Freigabe, die Sie erstellen möchten.PROJECT: Ihre Projekt-ID.CATALOG: Ihre Katalog-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.DESTINATION_SPACE: Die ID des Zielbereichs.
Weitere Informationen finden Sie unter gcloud design-center spaces catalogs shares create.
Anwendungsvorlage mit importierten Komponenten erstellen
Erstellen Sie eine Anwendungsvorlage mit Ihren importierten Komponenten und von Google bereitgestellten Komponenten.
Erstellen Sie eine neue Anwendungsvorlage.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACEErsetzen Sie Folgendes:
APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, die Sie erstellen möchten.PROJECT: Ihre Projekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.
Weitere Informationen finden Sie unter gcloud design-center spaces application-templates create.
Ermitteln Sie die Vorlagenversions-URIs für die Komponenten, die Sie der Vorlage hinzufügen möchten.
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --uriErsetzen Sie Folgendes:
PROJECT: Ihre Projekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.
Weitere Informationen finden Sie unter gcloud design-center spaces shared-templates list.
Fügen Sie Ihrer Anwendungsvorlage eine Komponente hinzu.
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_URIErsetzen Sie Folgendes:
COMPONENT: Die Komponenten-ID der Komponente, die Sie der Vorlage hinzufügen möchten.PROJECT: Ihre Projekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.SHARED_TEMPLATE_URI: Der URI der geteilten Vorlage der Komponente. Beispiel:projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Weitere Informationen finden Sie unter gcloud design-center spaces application-templates components create.
Fügen Sie Ihrer Vorlage eine zweite Komponente hinzu.
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_2Ersetzen Sie Folgendes:
COMPONENT_2: Die Komponenten-ID für die zweite Komponente, die Sie der Vorlage hinzufügen möchten.PROJECT: Ihre Projekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.SHARED_TEMPLATE_URI_2: Der URI der freigegebenen Vorlage für die zweite Komponente. Beispiel:projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Weitere Informationen finden Sie unter gcloud design-center spaces application-templates components create.
Stellen Sie eine Verbindung zwischen den beiden Komponenten her.
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_2Ersetzen Sie Folgendes:
CONNECTION: Die Verbindungs-ID für die Verbindung, die Sie der Vorlage hinzufügen möchten.PROJECT: Ihre Projekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Arbeitsbereichs-ID.APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.SHARED_TEMPLATE_URI_2: Der URI der freigegebenen Vorlage für die zweite Komponente. Beispiel:projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.
Weitere Informationen finden Sie unter gcloud design-center spaces application-templates components connections create.
Nächste Schritte
- Erstellen Sie vor der Bereitstellung eine Anwendung.
- Anwendungen bereitstellen
- Exportieren Sie Ihren Terraform-Code.