Erstellen Sie eine Konfiguration für die Vorlagensynchronisierung - AWS Proton

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine Konfiguration für die Vorlagensynchronisierung

Erfahren Sie, wie Sie eine Vorlagen-Synchronisierungskonfiguration mit erstellen AWS Proton.

Voraussetzungen für die Synchronisation einer Vorlage erstellen:
Der Repository-Link besteht aus folgenden Elementen:
  • Eine CodeConnections Verbindung, die dir AWS Proton erlaubt, auf dein Repository zuzugreifen und dessen Benachrichtigungen zu abonnieren.

  • Eine mit einem Dienst verknüpfte Rolle. Wenn Sie Ihr Repository verknüpfen, wird die mit dem Service verknüpfte Rolle für Sie erstellt.

Bevor Sie Ihre erste Konfiguration für die Vorlagensynchronisierung erstellen, übertragen Sie ein Vorlagenpaket in Ihr Repository, wie im folgenden Verzeichnislayout dargestellt.

/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/

Nachdem Sie Ihre erste Konfiguration für die Vorlagensynchronisierung erstellt haben, werden neue Vorlagenversionen automatisch erstellt, wenn Sie einen Commit pushen, der ein aktualisiertes Vorlagenpaket unter einer neuen Version hinzufügt (z. B. unter/my-env-template/v2/).

/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/

Sie können neue Template-Bundle-Versionen für eine oder mehrere synchronisierte Vorlagen in einen einzigen Commit aufnehmen. AWS Proton erstellt eine neue Vorlagenversion für jede neue Version des Vorlagenpakets, die im Commit enthalten war.

Nachdem Sie die Konfiguration für die Vorlagensynchronisierung erstellt haben, können Sie immer noch manuell neue Versionen der Vorlage in der Konsole oder mit der erstellen, AWS CLI indem Sie Vorlagenpakete aus einem S3-Bucket hochladen. Die Vorlagensynchronisierung funktioniert nur in eine Richtung: von Ihrem Repository zu. AWS Proton Manuell erstellte Vorlagenversionen werden nicht synchronisiert.

Nachdem Sie eine Konfiguration für die Vorlagensynchronisierung eingerichtet haben AWS Proton , wartet auf Änderungen an Ihrem Repository. Immer wenn eine Änderung übertragen wird, wird nach einem Verzeichnis gesucht, das denselben Namen wie Ihre Vorlage hat. Es sucht dann in diesem Verzeichnis nach Verzeichnissen, die wie Hauptversionen aussehen. AWS Proton registriert das Vorlagenpaket für die entsprechende Hauptversion der Vorlage. Die neuen Versionen befinden sich immer im DRAFT Status. Sie können die neuen Versionen mit der Konsole oder veröffentlichen AWS CLI.

Nehmen wir zum Beispiel an, Sie haben eine Vorlage, die aufgerufen wird und my-env-template so konfiguriert ist, dass sie von main einem Zweig aus my-repo/templates synchronisiert wird, mit dem folgenden Layout.

/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/

AWS Proton synchronisiert den Inhalt von /templates/my-env-template/v1/ to my-env-template:1 und den Inhalt von /templates/my-env-template/v2/ tomy-env-template:2. Falls sie noch nicht existieren, werden diese Hauptversionen erstellt.

AWS Proton hat das erste Verzeichnis gefunden, das dem Vorlagennamen entsprach. Sie können die AWS Proton Suche nach Verzeichnissen einschränken, indem Sie subdirectoryPath beim Erstellen oder Bearbeiten einer Vorlagensynchronisierungskonfiguration eine angeben. Sie können beispielsweise /production-templates/ für angebensubdirectoryPath.

Sie können mit der Konsole oder der CLI eine Vorlagensynchronisierungskonfiguration erstellen.

AWS Management Console
Erstellen Sie mithilfe der Konsole eine Vorlage und eine Konfiguration für die Vorlagensynchronisierung.
  1. Wählen Sie in der AWS Proton Konsole die Option Umgebungsvorlagen aus.

  2. Wählen Sie Umgebungsvorlage erstellen aus.

  3. Wählen Sie auf der Seite Umgebungsvorlage erstellen im Abschnitt Vorlagenoptionen die Option Vorlage für die Bereitstellung neuer Umgebungen erstellen aus.

  4. Wählen Sie im Quellbereich des Vorlagenpakets die Option Vorlagen aus Git synchronisieren aus.

  5. Gehen Sie im Abschnitt Quellcode-Repository wie folgt vor:

    1. Wählen Sie für Repository das verknüpfte Repository aus, das Ihr Vorlagenpaket enthält.

    2. Wählen Sie für Branch einen Repository-Branch aus, von dem aus synchronisiert werden soll.

    3. (Optional) Geben Sie für das Verzeichnis der Vorlagenpakete den Namen eines Verzeichnisses ein, um die Suche nach Ihrem Vorlagenpaket einzugrenzen.

  6. Im Abschnitt Vorlagendetails.

    1. Geben Sie einen Namen für die Vorlage ein.

    2. (Optional) Geben Sie einen Anzeigenamen für die Vorlage ein.

    3. (Optional) Geben Sie eine Vorlagenbeschreibung für die Umgebungsvorlage ein.

  7. (Optional) Aktivieren Sie im Abschnitt Verschlüsselungseinstellungen das Kontrollkästchen Verschlüsselungseinstellungen anpassen (erweitert), um Ihren eigenen Verschlüsselungsschlüssel anzugeben.

  8. (Optional) Wählen Sie im Abschnitt Tags die Option Neues Tag hinzufügen aus und geben Sie einen Schlüssel und einen Wert ein, um ein vom Kunden verwaltetes Tag zu erstellen.

  9. Wählen Sie „Umgebungsvorlage erstellen“.

    Sie befinden sich jetzt auf einer neuen Seite, auf der der Status und die Details für Ihre neue Umgebungsvorlage angezeigt werden. Zu diesen Details gehört eine Liste der AWS verwalteten und vom Kunden verwalteten Tags. AWS Proton generiert automatisch AWS verwaltete Tags für Sie, wenn Sie AWS Proton Ressourcen erstellen. Weitere Informationen finden Sie unter AWS ProtonRessourcen und Tagging.

  10. Wählen Sie auf der Seite mit den Vorlagendetails die Registerkarte Synchronisieren aus, um Detaildaten zur Konfiguration der Vorlagensynchronisierung anzuzeigen.

  11. Wählen Sie den Tab Vorlagenversionen, um Vorlagenversionen mit Statusdetails anzuzeigen.

  12. Der Status einer neuen Umgebungsvorlage beginnt im Status Entwurf. Sie und andere Personen mit proton:CreateEnvironment entsprechenden Berechtigungen können sie anzeigen und darauf zugreifen. Folgen Sie dem nächsten Schritt, um die Vorlage für andere verfügbar zu machen.

  13. Wählen Sie im Abschnitt Vorlagenversionen das Optionsfeld links neben der Nebenversion der Vorlage, die Sie gerade erstellt haben (1.0). Alternativ können Sie in der Informationswarnung die Option Veröffentlichen auswählen und den nächsten Schritt überspringen.

  14. Wählen Sie im Abschnitt Vorlagenversionen die Option Veröffentlichen aus.

  15. Der Status der Vorlage ändert sich in Veröffentlicht. Es ist die neueste und empfohlene Version der Vorlage.

  16. Wählen Sie im Navigationsbereich Umgebungsvorlagen aus, um eine Liste Ihrer Umgebungsvorlagen und Details anzuzeigen.

Das Verfahren zum Erstellen einer Dienstvorlage und einer Konfiguration für die Vorlagensynchronisierung ist ähnlich.

AWS CLI
Erstellen Sie eine Vorlage und eine Konfiguration für die Vorlagensynchronisierung mithilfe von AWS CLI.
  1. Erstellen Sie eine Vorlage. In diesem Beispiel wird eine Umgebungsvorlage erstellt.

    Führen Sie den folgenden Befehl aus.

    $ aws proton create-environment-template \ --name "env-template"

    Die Antwort lautet wie folgt.

    { "environmentTemplate": { "arn": "arn:aws:proton:us-east-1:123456789012:environment-template/env-template", "createdAt": "2021-11-07T23:32:43.045000+00:00", "displayName": "env-template", "lastModifiedAt": "2021-11-07T23:32:43.045000+00:00", "name": "env-template", "status": "DRAFT", "templateName": "env-template" } }
  2. Erstellen Sie Ihre Vorlagen-Synchronisierungskonfiguration mit, AWS CLI indem Sie Folgendes angeben:
    • Die Vorlage, mit der Sie synchronisieren möchten. Nachdem Sie die Konfiguration für die Vorlagensynchronisierung erstellt haben, können Sie daraus immer noch manuell in der Konsole oder mit dem neue Versionen erstellen AWS CLI.

    • Der Name der Vorlage.

    • Der Vorlagentyp.

    • Das verknüpfte Repository, aus dem Sie synchronisieren möchten.

    • Der Anbieter des verknüpften Repositorys.

    • Der Zweig, in dem sich das Vorlagenpaket befindet.

    • (Optional) Der Pfad zu dem Verzeichnis, das Ihr Vorlagenpaket enthält. Sucht standardmäßig nach dem ersten Verzeichnis, das Ihrem Vorlagennamen entspricht. AWS Proton

    Führen Sie den folgenden Befehl aus.

    $ aws proton create-template-sync-config \ --template-name "env-template" \ --template-type "ENVIRONMENT" \ --repository-name "myrepos/templates" \ --repository-provider "GITHUB" \ --branch "main" \ --subdirectory "env-template/"

    Die Antwort lautet wie folgt.

    { "templateSyncConfigDetails": { "branch": "main", "repositoryName": "myrepos/templates", "repositoryProvider": "GITHUB", "subdirectory": "templates", "templateName": "env-template", "templateType": "ENVIRONMENT" } }
  3. Informationen zum Veröffentlichen Ihrer Vorlagenversion finden Sie unterVorlagen registrieren und veröffentlichen.

Synchronisieren von Dienstvorlagen

Die vorherigen Beispiele zeigen, wie Sie Umgebungsvorlagen synchronisieren können. Dienstvorlagen sind ähnlich. Um Dienstvorlagen zu synchronisieren, fügen Sie jedem Hauptversionsverzeichnis in Ihrem Vorlagenpaket eine zusätzliche Datei mit dem Namen .template-registration.yaml hinzu. Diese Datei enthält zusätzliche Details, die AWS Proton benötigt werden, wenn sie nach einem Commit eine Service-Vorlagenversion für Sie erstellt. Wenn Sie mithilfe der AWS Proton Konsole oder API explizit eine Service-Vorlagenversion erstellen, geben Sie diese Details als Eingaben an, und diese Datei ersetzt diese Eingaben für die Vorlagensynchronisierung.

./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/instance_infrastructure/ # template bundle /templates/my-svc-template/v1/schema/

Die .template-registration.yaml Datei enthält die folgenden Details:

  • Kompatible Umgebungen [erforderlich] — Umgebungen, die auf diesen Umgebungsvorlagen und Hauptversionen basieren, sind mit Diensten kompatibel, die auf dieser Dienstvorlagenversion basieren.

  • Unterstützte Komponentenquellen [optional] — Komponenten, die diese Quellen verwenden, sind mit Diensten kompatibel, die auf dieser Dienstvorlagenversion basieren. Wenn nicht angegeben, können Komponenten nicht an diese Dienste angehängt werden. Weitere Informationen zu Komponenten finden Sie unterAWS Proton-Komponenten.

Die YAML-Syntax der Datei lautet wie folgt:

compatible_environments: - env-templ-name:major-version - ... supported_component_sources: - DIRECTLY_DEFINED

Geben Sie eine oder mehrere Kombinationen aus Umgebungsvorlage und Hauptversion an. Die Angabe supported_component_sources ist optional und der einzige unterstützte Wert istDIRECTLY_DEFINED.

Beispiel .template-registration.yaml

In diesem Beispiel ist die Version der Dienstvorlage mit den Hauptversionen 1 und 2 der Umgebungsvorlage kompatibel. my-env-template Sie ist auch mit den Hauptversionen 1 und 3 der another-env-template Umgebungsvorlage kompatibel. In der Datei ist nichts angegebensupported_component_sources, sodass Komponenten nicht an Dienste angehängt werden können, die auf dieser Version der Dienstvorlage basieren.

compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
Anmerkung

Zuvor wurde eine andere Datei zur Angabe kompatibler Umgebungen AWS Proton definiert. .compatible-envs AWS Proton unterstützt diese Datei und ihr Format aus Gründen der Abwärtskompatibilität weiterhin. Wir empfehlen, es nicht mehr zu verwenden, da es nicht erweiterbar ist und neuere Funktionen wie Komponenten nicht unterstützt.