Aggiungere componenti del repository e del codice sorgente a un blueprint - Amazon CodeCatalyst

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungere componenti del repository e del codice sorgente a un blueprint

Un repository viene utilizzato da Amazon CodeCatalyst per archiviare il codice. Il repository prende un nome come input. La maggior parte dei componenti è archiviata in un repository, ad esempio file di codice sorgente, flussi di lavoro e altri componenti come gli ambienti di sviluppo gestiti (MDE). Il componente del repository di origine esporta anche i componenti utilizzati per la gestione di file e risorse statiche. I repository hanno vincoli relativi ai nomi. Per ulteriori informazioni, consulta Archivia e collabora sul codice con i repository di sorgenti in CodeCatalyst.

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

Per importare i componenti del repository e del codice sorgente di Amazon CodeCatalyst Blueprints

Nel tuo blueprint.ts file, aggiungi quanto segue:

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

Aggiungere un file

È possibile scrivere un file di testo in un repository con il SourceFile costrutto. L'operazione è uno dei casi d'uso più comuni e richiede un repository, un percorso di file e contenuti di testo. Se il percorso del file non esiste all'interno di un repository, il componente crea tutte le cartelle richieste.

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

Se si scrivono due file nella stessa posizione all'interno dello stesso repository, l'implementazione più recente sovrascrive quella precedente. È possibile utilizzare la funzionalità per sovrapporre il codice generato ed è particolarmente utile per estendere il codice che i blueprint personalizzati potrebbero aver generato.

Aggiungere un file generico

Puoi scrivere bit arbitrari nel tuo repository. È possibile leggere da un buffer e utilizzare il costrutto. File

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());

Copiare i file

Puoi iniziare con il codice generato copiando e incollando il codice iniziale e quindi generando altro codice su quella base. Inserite il codice all'interno della static-assets directory, quindi indirizzate il codice con il costrutto. StaticAsset Il percorso in questo caso inizia sempre dalla radice della static-assets directory.

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'

Una sottoclasse di StaticAsset isSubstitutionAsset. La sottoclasse funziona esattamente allo stesso modo, ma puoi invece eseguire una sostituzione con i baffi sul file. Può essere utile per eseguire la generazione di stili. copy-and-replace

La sostituzione statica degli asset utilizza un motore di template Moustache per eseguire il rendering dei file statici inseriti nel repository di origine generato. Le regole di creazione dei modelli Moustache vengono applicate durante il rendering, il che significa che tutti i valori sono codificati in HTML per impostazione predefinita. Per eseguire il rendering del codice HTML senza escape, utilizzate la sintassi Triple Mustache. {{{name}}} Per ulteriori informazioni, consulta le regole di creazione dei modelli per moustache.

Nota

L'esecuzione di un sostituto su file che non sono interpretabili dal testo può produrre errori.

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

Individuazione di più file

Le risorse statiche supportano il targeting globale tramite una funzione statica on StaticAsset e le relative sottoclassi chiamatefindAll(...), che restituiscono un elenco di risorse statiche precaricate con i relativi percorsi, contenuti e altro. È possibile concatenare l'elenco con File costruzioni per copiare e incollare i contenuti nella directory. static-assets

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());

Creare un nuovo repository e aggiungere file

È possibile utilizzare un componente del repository per creare un nuovo repository in un progetto generato. È quindi possibile aggiungere file o flussi di lavoro al repository creato.

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

L'esempio seguente mostra come aggiungere file e flussi di lavoro a un repository esistente:

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 combinazione delle due parti di codice genera un unico repository denominato myRepo con un file sorgente README.md e un CodeCatalyst flusso di lavoro alla radice.