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 App Design Center.
Terraform-Module sind wiederverwendbare Konfigurationen für Google Cloud -Produkte. Das Importieren von Terraform-Modulen bietet Ihnen folgende Vorteile:
- Anwendungsentwicklung beschleunigen und steuern
- Sie können Ihre vorhandenen Designentscheidungen in App Design Center wiederverwenden.
- Anwendungsentwickler dabei unterstützen, Ihre etablierten Designrichtlinien einzuhalten.
Wenn Sie ein Terraform-Modul importieren, wird im App Design Center eine entsprechende Komponentenvorlage im Katalog Ihres Gruppenbereichs erstellt. 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
Hinweise
Bitten Sie Ihren Administrator, Ihnen eine der folgenden Rollen für den app-fähigen Ordner oder das Verwaltungsprojekt zuzuweisen:
- Application Design Center Admin (
roles/designcenter.admin). - Application Design Center User (
roles/designcenter.user).
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önnten:
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 Ihre Ä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 Managementprojekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-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 Managementprojekt-ID.CATALOG: Ihre Katalog-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-ID.
Weitere Informationen finden Sie unter gcloud design-center spaces catalogs templates create.
Erstellen Sie eine Katalogvorlagenrevision 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=METADATA | --use-repoErsetzen Sie Folgendes:
REVISION: Die Revisions-ID der Revision, die Sie erstellen möchten.PROJECT: Ihre Managementprojekt-ID.CATALOG: Ihre Katalog-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-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 eine Metadatendatei in Ihrem Repository generieren möchten, geben Sie das Flag
--use-repoan.
- 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 Managementprojekt-ID.CATALOG: Ihre Katalog-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-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 den 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 Managementprojekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-ID.
Weitere Informationen finden Sie unter gcloud design-center spaces application-templates create.
Ermitteln Sie die Vorlagenrevisions-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 Managementprojekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-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 Managementprojekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-ID.APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.SHARED_TEMPLATE_URI: Der URI der freigegebenen Vorlage für die 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 Managementprojekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-ID.APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.SHARED_TEMPLATE_URI_2: Der URI der zweiten Komponente der freigegebenen Vorlage. 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 Managementprojekt-ID.LOCATION: Ihre Standort-ID.SPACE: Ihre Bereichs-ID.APPLICATION_TEMPLATE: Die Vorlagen-ID für die Anwendungsvorlage, der Sie die Komponente hinzufügen.SHARED_TEMPLATE_URI_2: Der URI der zweiten Komponente der freigegebenen Vorlage. 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.
- Über die Console bereitstellen.
- Exportieren Sie Ihren Terraform-Code.