Concepts de plans personnalisés - Amazon CodeCatalyst

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.

Concepts de plans personnalisés

Voici quelques concepts et termes que vous devez connaître lorsque vous travaillez avec des plans personnalisés dans CodeCatalyst.

Projet Blueprint

Un projet de plan vous permet de développer et de publier des plans dans votre espace. Un référentiel source est créé au cours du processus de création du projet, et le nom du référentiel est celui que vous avez choisi lors de la saisie des détails des ressources du projet. Au cours du processus de création du plan, si vous choisissez de générer une version du flux de travail, un flux de publication est créé dans votre plan avec le plan Blueprint Builder. Le flux de travail publie automatiquement votre dernière version.

Plans spatiaux

Vous pouvez consulter et gérer tous les plans depuis le tableau des plans d'espace lorsque vous accédez à la section Plans de votre espace. Une fois les plans publiés dans votre espace, ils sont mis à disposition sous forme de plan d'espace à ajouter et à supprimer du catalogue de plans de votre espace. Vous pouvez également gérer les autorisations de publication et supprimer des plans dans la section Blueprints de votre espace. Pour plus d’informations, consultez Afficher les détails, les versions et les projets d'un plan personnalisé.

Catalogue de plans spatiaux

Vous pouvez consulter tous les plans personnalisés ajoutés à partir du catalogue de plans d'un espace. C'est ici qu'un membre de l'espace peut choisir votre plan personnalisé pour créer un nouveau projet. Ce catalogue est différent du CodeCatalyst catalogue, qui contient déjà des plans disponibles pour tous les membres de l'espace. Pour plus d’informations, consultez Création d'un projet complet avec des CodeCatalyst plans.

Synthèse

La synthèse est le processus de génération d'un ensemble de CodeCatalyst projets qui représente le code source, la configuration et les ressources d'un projet. Le bundle est ensuite utilisé par les opérations de l'API de CodeCatalyst déploiement pour le déployer dans un projet. Le processus peut être exécuté localement lors du développement de votre plan personnalisé afin d'émuler la création de projet sans avoir à créer un projet dans. CodeCatalyst Les commandes suivantes peuvent être utilisées pour effectuer une synthèse :

yarn blueprint:synth # fast mode yarn blueprint:synth --cache # wizard emulation mode

Le plan commence par appeler la blueprint.ts classe principale avec cette option fusionnéedefaults.json. Un nouveau bundle de projets est généré sous le synth/synth.[options-name]/proposed-bundle/ dossier. La sortie inclut l'ensemble de projets généré par un plan personnalisé, compte tenu des options que vous avez définies, y compris les options partielles que vous avez peut-être configurées.

Resynthèse

La resynthèse est le processus qui consiste à régénérer un plan avec différentes options de plan ou des versions de plan de projets existants. En tant qu'auteur d'un plan, vous pouvez définir des stratégies de fusion personnalisées dans le code du plan personnalisé. Vous pouvez également définir des limites de propriété dans un .ownership-file pour spécifier dans quelles parties de la base de code un plan peut être mis à jour. Bien que le plan personnalisé puisse proposer des mises à jour.ownership-file, les développeurs de projets utilisant le plan personnalisé peuvent déterminer les limites de propriété de leurs projets. Vous pouvez exécuter la resynthèse localement, la tester et la mettre à jour avant de publier votre plan personnalisé. Utilisez les commandes suivantes pour effectuer une resynthèse :

yarn blueprint:resynth # fast mode yarn blueprint:resynth --cache # wizard emulation mode

Le plan commence par appeler la blueprint.ts classe principale avec cette option fusionnéedefaults.json. Un nouveau bundle de projets est généré sous le synth/resynth.[options-name]/ dossier. La sortie inclut l'ensemble de projets généré par un plan personnalisé, compte tenu des options que vous avez définies, y compris les options partielles que vous avez peut-être configurées.

Les contenus suivants sont créés après les processus de synthèse et de resynthèse :

  • proposed-bundle - Le résultat de la synthèse lorsqu'elle est exécutée avec de nouvelles options pour la version du plan cible.

  • existing-bundle - Une maquette de votre projet existant. S'il n'y a rien dans ce dossier, il est généré avec le même résultat que luiproposed-bundle.

  • ancestors -bundle - Une maquette de ce que votre plan générerait s'il était exécuté avec une version antérieure, des options antérieures ou une combinaison des deux. S'il n'y a rien dans ce dossier, il est généré avec le même résultat que leproposed-bundle.

  • resolved-bundle - Le bundle est toujours régénéré et utilise par défaut une fusion à trois voies entre le, et le. proposed-bundle existing-bundle ancestor-bundle Ce bundle fournit une émulation de ce qu'une resynthèse produirait localement.

Pour en savoir plus sur les ensembles de sortie Blueprint, consultez. Génération de fichiers par resynthèse

Options partielles

Vous pouvez ajouter des variantes d'src/wizard-configuration/options sans avoir à énumérer l'intégralité de l'Optionsinterface, et les options sont fusionnées en haut du defaults.json fichier. Cela vous permet d'adapter les scénarios de test à des options particulières.

Exemple :

Optionsinterface :

{ language: "Python" | "Java" | "Typescript", repositoryName: string ... }

Fichier defaults.json :

{ language: "Python", repositoryName: "Myrepo" ... }

Tests de configuration supplémentaires :

  • #wizard-config-typescript-test.json { language: "Typescript", }
  • #wizard-config-java-test.json { language: "Java", }

Projen

Projen est un outil open source que les plans personnalisés utilisent pour rester à jour et cohérents. Les plans sont fournis sous forme de packages Projen, car ce framework vous permet de créer, de regrouper et de publier des projets, et vous pouvez utiliser l'interface pour gérer les configurations et les paramètres d'un projet.

Vous pouvez utiliser Projen pour mettre à jour les plans à grande échelle, même après leur création. L'outil Projen est la technologie sous-jacente à la synthèse du plan qui génère un ensemble de projets. Projen est propriétaire de la configuration d'un projet, et cela ne devrait pas avoir d'impact sur vous en tant qu'auteur du plan. Vous pouvez exécuter yarn projen pour régénérer la configuration de votre projet après avoir ajouté des dépendances, ou vous pouvez modifier les options du projenrc.ts fichier. Projen est également l'outil de génération sous-jacent pour les plans personnalisés afin de synthétiser un projet. Pour plus d'informations, consultez la GitHub page du projet. Pour en savoir plus sur l'utilisation de Projen, consultez la documentation de Projen et Comment simplifier la configuration d'un projet avec Projen.