Ajouter des composants de référentiel et de code source à un plan - 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.

Ajouter des composants de référentiel et de code source à un plan

Un référentiel est utilisé par Amazon CodeCatalyst pour stocker le code. Le référentiel prend un nom en entrée. La plupart des composants sont stockés dans un référentiel, tels que les fichiers de code source, les flux de travail et d'autres composants tels que les environnements de développement gérés (MDE). Le composant du référentiel source exporte également les composants utilisés pour gérer les fichiers et les actifs statiques. Les référentiels sont soumis à des contraintes de nom. Pour plus d’informations, consultez Stockez du code et collaborez sur celui-ci avec des référentiels de sources dans CodeCatalyst.

const repository = new SourceRepository(this, { title: 'my-new-repository-title', });

Pour importer le référentiel Amazon CodeCatalyst Blueprints et les composants du code source

Dans votre blueprint.ts fichier, ajoutez les éléments suivants :

import {...} from '@caws-blueprint-component/caws-source-repositories'

Ajouter un fichier

Vous pouvez écrire un fichier texte dans un dépôt à l'aide de cette SourceFile construction. L'opération est l'un des cas d'utilisation les plus courants et nécessite un référentiel, un chemin de fichier et le contenu du texte. Si le chemin du fichier n'existe pas dans un référentiel, le composant crée tous les dossiers requis.

new SourceFile(repository, `path/to/my/file/in/repo/file.txt`, 'my file contents');
Note

Si vous écrivez deux fichiers au même emplacement dans le même référentiel, l'implémentation la plus récente remplace la précédente. Vous pouvez utiliser cette fonctionnalité pour superposer le code généré, et elle est particulièrement utile pour étendre le code que les plans personnalisés ont pu générer.

Ajouter un fichier générique

Vous pouvez écrire des bits arbitraires dans votre dépôt. Vous pouvez lire à partir d'une mémoire tampon et utiliser la File construction.

new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());

Copier des fichiers

Vous pouvez commencer avec le code généré en copiant et en collant le code de démarrage, puis en générant du code supplémentaire au-dessus de cette base. Placez le code dans le static-assets répertoire, puis ciblez ce code avec la StaticAsset construction. Dans ce cas, le chemin commence toujours à la racine du static-assets répertoire.

const starterCode = new StaticAsset('path/to/file/file.txt') const starterCodeText = new StaticAsset('path/to/file/file.txt').toString() const starterCodeRawContent = new StaticAsset('path/to/image/hello.png').content() const starterCodePath = new StaticAsset('path/to/image/hello.png').path() // starterCodePath is equal to 'path/to/image/hello.png'

Une sous-classe de StaticAsset isSubstitutionAsset. La sous-classe fonctionne exactement de la même manière, mais vous pouvez plutôt exécuter une substitution par moustache sur le fichier. Cela peut être utile pour générer des copy-and-replace styles.

La substitution d'actifs statiques utilise un moteur de création de modèles à moustache pour afficher les fichiers statiques qui sont ensemencés dans le référentiel source généré. Les règles de modélisation des moustaches sont appliquées lors du rendu, ce qui signifie que toutes les valeurs sont codées en HTML par défaut. Pour afficher du code HTML non filtré, utilisez la syntaxe à triple moustache. {{{name}}} Pour plus d'informations, consultez les règles relatives à la modélisation des moustaches.

Note

L'exécution d'un substitut sur des fichiers qui ne sont pas interprétables par du texte peut générer des erreurs.

const starterCodeText = new SubstitionAsset('path/to/file/file.txt').subsitite({ 'my_variable': 'subbed value1', 'another_variable': 'subbed value2' })

Cibler plusieurs fichiers

Les actifs statiques prennent en charge le ciblage global grâce à une fonction statique appelée StaticAsset et à ses sous-classes appeléesfindAll(...), qui renvoie une liste d'actifs statiques préchargés avec leurs chemins, leur contenu, etc. Vous pouvez enchaîner la liste avec des File constructions pour copier et coller le contenu dans le static-assets répertoire.

new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());

Création d'un nouveau dépôt et ajout de fichiers

Vous pouvez utiliser un composant de référentiel pour créer un nouveau référentiel dans un projet généré. Vous pouvez ensuite ajouter des fichiers ou des flux de travail au référentiel créé.

import { SourceRepository } from '@amazon-codecatalyst/codecatalyst-source-repositories'; ... const repository = new SourceRepository(this, { title: 'myRepo' });

L'exemple suivant montre comment ajouter des fichiers et des flux de travail à un référentiel existant :

import { SourceFile } from '@amazon-codecatalyst/codecatalyst-source-repositories'; import { Workflow } from '@amazon-codecatalyst/codecatalyst-workflows'; ... new SourceFile(repository, 'README.md', 'This is the content of my readme'); new Workflow(this, repository, {/**...workflowDefinition...**/});

La combinaison des deux éléments de code génère un référentiel unique nommé myRepo avec un fichier source README.md et un CodeCatalyst flux de travail à la racine.