Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'une configuration de synchronisation de modèles
Découvrez comment créer un modèle de configuration de synchronisation avec AWS Proton.
Créez un modèle de configuration prérequis pour la synchronisation :
-
Vous avez lié un dépôt à AWS Proton.
-
Un ensemble de modèles se trouve dans votre référentiel.
Le lien vers le référentiel se compose des éléments suivants :
-
Une CodeConnections connexion qui donne AWS Proton l'autorisation d'accéder à votre dépôt et de vous abonner à ses notifications.
-
Un rôle lié à un service. Lorsque vous liez votre référentiel, le rôle lié au service est créé pour vous.
Avant de créer votre première configuration de synchronisation de modèles, transférez un ensemble de modèles vers votre référentiel, comme indiqué dans le schéma de répertoire suivant.
/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/
Une fois que vous avez créé votre première configuration de synchronisation de modèles, de nouvelles versions de modèles sont automatiquement créées lorsque vous envoyez un commit qui ajoute un ensemble de modèles mis à jour dans une nouvelle version (par exemple, sous/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/
Vous pouvez inclure de nouvelles versions de bundle de modèles pour un ou plusieurs modèles configurés pour la synchronisation dans un seul commit. AWS Proton crée une nouvelle version de modèle pour chaque nouvelle version de bundle de modèles incluse dans le commit.
Après avoir créé la configuration de synchronisation des modèles, vous pouvez toujours créer manuellement de nouvelles versions du modèle dans la console ou en AWS CLI téléchargeant des ensembles de modèles depuis un compartiment S3. La synchronisation des modèles ne fonctionne que dans un seul sens : de votre dépôt vers AWS Proton. Les versions de modèles créées manuellement ne sont pas synchronisées.
Après avoir configuré une configuration de synchronisation des modèles, AWS Proton écoute les modifications apportées à votre référentiel. Chaque fois qu'une modification est poussée, elle recherche tout répertoire portant le même nom que votre modèle. Il recherche ensuite dans ce répertoire tous les répertoires qui ressemblent à des versions majeures. AWS Proton enregistre le bundle de modèles dans la version principale du modèle correspondant. Les nouvelles versions sont toujours en bon DRAFT
état. Vous pouvez publier les nouvelles versions avec la console ou AWS CLI.
Supposons, par exemple, que vous ayez un modèle appelé my-env-template
configuré pour être synchronisé à partir d'my-repo/templates
une branche main
avec la mise en page suivante.
/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 synchronise le contenu de /templates/my-env-template/v1/
to my-env-template:1
et le contenu de /templates/my-env-template/v2/
tomy-env-template:2
. S'ils n'existent pas déjà, il crée ces versions majeures.
AWS Proton a trouvé le premier répertoire correspondant au nom du modèle. Vous pouvez limiter les AWS Proton recherches dans les annuaires en spécifiant une configuration de synchronisation de modèles subdirectoryPath
lorsque vous créez ou modifiez un modèle. Par exemple, vous pouvez spécifier /production-templates/
poursubdirectoryPath
.
Vous pouvez créer un modèle de configuration de synchronisation à l'aide de la console ou de la CLI.
Modèles de service de synchronisation
Les exemples précédents montrent comment synchroniser les modèles d'environnement. Les modèles de service sont similaires. Pour synchroniser les modèles de services, vous ajoutez un fichier supplémentaire nommé .template-registration.yaml
dans le répertoire de chaque version majeure de votre ensemble de modèles. Ce fichier contient des informations supplémentaires AWS Proton nécessaires lorsqu'il crée une version de modèle de service pour vous à la suite d'un commit. Lorsque vous créez explicitement une version de modèle de service à l'aide de la AWS Proton console ou de l'API, vous fournissez ces informations en tant qu'entrées, et ce fichier remplace ces entrées pour la synchronisation des modèles.
./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/
Le .template-registration.yaml
fichier contient les informations suivantes :
-
Environnements compatibles [obligatoire] — Les environnements basés sur ces modèles d'environnement et les versions majeures sont compatibles avec les services basés sur cette version de modèle de service.
-
Sources de composants prises en charge [facultatif] — Les composants utilisant ces sources sont compatibles avec les services basés sur cette version de modèle de service. Si ce n'est pas spécifié, les composants ne peuvent pas être attachés à ces services. Pour plus d'informations sur les composants, consultezComposants AWS Proton.
La syntaxe YAML du fichier est la suivante :
compatible_environments: -
env-templ-name
:major-version
- ... supported_component_sources: - DIRECTLY_DEFINED
Spécifiez une ou plusieurs combinaisons de modèles d'environnement et de versions principales. supported_component_sources
La spécification est facultative et la seule valeur prise en charge estDIRECTLY_DEFINED
.
Exemple .template-registration.yaml
Dans cet exemple, la version du modèle de service est compatible avec les versions principales 1 et 2 du modèle d'my-env-template
environnement. Il est également compatible avec les versions principales 1 et 3 du modèle d'another-env-template
environnement. Le fichier ne le précise supported_component_sources
pas. Les composants ne peuvent donc pas être attachés à des services basés sur cette version de modèle de service.
compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
Note
Précédemment, AWS Proton défini un fichier différent.compatible-envs
, pour spécifier les environnements compatibles. AWS Proton supporte toujours ce fichier et son format pour des raisons de rétrocompatibilité. Nous ne recommandons plus de l'utiliser, car il n'est pas extensible et ne peut pas prendre en charge de nouvelles fonctionnalités telles que les composants.