Adicionar componentes de repositório e código-fonte a um blueprint - Amazon CodeCatalyst

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicionar componentes de repositório e código-fonte a um blueprint

Um repositório é usado pela Amazon CodeCatalyst para armazenar código. O repositório usa um nome como entrada. A maioria dos componentes é armazenada em um repositório, como arquivos de código-fonte, fluxos de trabalho e outros componentes, como ambientes de desenvolvimento gerenciado (MDE). O componente do repositório de origem também exporta componentes usados para gerenciar arquivos e ativos estáticos. Os repositórios têm restrições de nome. Para ter mais informações, consulte Armazene e colabore no código com repositórios de origem no CodeCatalyst.

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

Para importar o repositório e os componentes do código-fonte do Amazon CodeCatalyst Blueprints

No seu blueprint.ts arquivo, adicione o seguinte:

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

Adicionando um arquivo

Você pode gravar um arquivo de texto em um repositório com a SourceFile construção. A operação é um dos casos de uso mais comuns e usa um repositório, um caminho de arquivo e conteúdo de texto. Se o caminho do arquivo não existir em um repositório, o componente criará todas as pastas necessárias.

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

Se você gravar dois arquivos no mesmo local no mesmo repositório, a implementação mais recente substituirá a anterior. Você pode usar o recurso para criar camadas de código gerado, e ele é especialmente útil para estender o código que os blueprints personalizados podem ter gerado.

Adicionando um arquivo genérico

Você pode gravar bits arbitrários no seu repositório. Você pode ler de um buffer e usar a File construção.

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

Copiando arquivos

Você pode começar com o código gerado copiando e colando o código inicial e, em seguida, gerando mais código sobre essa base. Coloque o código dentro do static-assets diretório e, em seguida, direcione esse código com a StaticAsset construção. Nesse caso, o caminho sempre começa na raiz do static-assets diretório.

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'

Uma subclasse de StaticAsset éSubstitutionAsset. A subclasse funciona exatamente da mesma forma, mas, em vez disso, você pode executar uma substituição de bigode no arquivo. Pode ser útil para realizar a geração de copy-and-replace estilos.

A substituição estática de ativos usa um mecanismo de modelagem de bigode para renderizar os arquivos estáticos que são implantados no repositório de origem gerado. As regras de modelagem do Mustache são aplicadas durante a renderização, o que significa que todos os valores são codificados em HTML por padrão. Para renderizar HTML sem escape, use a sintaxe de bigode triplo. {{{name}}} Para obter mais informações, consulte as regras de modelagem do bigode.

nota

Executar um substituto em arquivos que não são interpretáveis por texto pode produzir erros.

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

Visando vários arquivos

Os ativos estáticos oferecem suporte à segmentação global por meio de uma função estática on StaticAsset e suas subclasses chamadasfindAll(...), que retorna uma lista de ativos estáticos pré-carregados com seus caminhos, conteúdos e muito mais. Você pode encadear a lista com File construções para copiar e colar conteúdo no static-assets diretório.

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

Criando um novo repositório e adicionando arquivos

Você pode usar um componente de repositório para criar um novo repositório em um projeto gerado. Em seguida, você pode adicionar arquivos ou fluxos de trabalho ao repositório criado.

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

O exemplo a seguir mostra como adicionar arquivos e fluxos de trabalho a um repositório existente:

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...**/});

A combinação das duas partes do código gera um único repositório nomeado myRepo com um arquivo de origem README.md e um CodeCatalyst fluxo de trabalho na raiz.