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à.
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'
Argomenti
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.