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'
Rubriques
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.