Conceitos de plantas personalizadas - 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á.

Conceitos de plantas personalizadas

Aqui estão alguns conceitos e termos que você deve conhecer ao trabalhar com esquemas personalizados em CodeCatalyst.

Projeto Blueprint

Um projeto de planta oferece a capacidade de desenvolver e publicar plantas em seu espaço. Um repositório de origem é criado durante o processo de criação do projeto, e o nome do repositório é aquele que você escolheu ao inserir os detalhes dos recursos do projeto. Durante o processo de criação do blueprint, se você optar por gerar uma versão do fluxo de trabalho, um fluxo de trabalho de publicação será criado no seu blueprint com o blueprint Builder. O fluxo de trabalho publica automaticamente sua versão mais recente.

Plantas espaciais

Você pode visualizar e gerenciar todos os blueprints da tabela Space blueprints ao navegar até a seção Blueprints do seu espaço. Depois que as plantas são publicadas em seu espaço, elas são disponibilizadas como uma planta espacial para serem adicionadas e removidas do catálogo de plantas do seu espaço. Você também pode gerenciar as permissões de publicação e excluir blueprints na seção Blueprints do seu espaço. Para ter mais informações, consulte Visualizando detalhes, versões e projetos de um blueprint personalizado.

Catálogo de plantas espaciais

Você pode ver todas as plantas personalizadas adicionadas no catálogo de plantas de um espaço. É aqui que um membro do espaço pode escolher seu plano personalizado para criar um novo projeto. Esse catálogo é diferente do CodeCatalyst catálogo, que já tem plantas disponíveis para todos os membros do espaço. Para ter mais informações, consulte Criando um projeto abrangente com CodeCatalyst plantas.

Síntese

A síntese é o processo de gerar um pacote de CodeCatalyst projetos que representa o código-fonte, a configuração e os recursos de um projeto. O pacote é então usado pelas operações da API CodeCatalyst de implantação para implantar em um projeto. O processo pode ser executado localmente durante o desenvolvimento de seu plano personalizado para emular a criação do projeto sem precisar criar um projeto no. CodeCatalyst Os comandos a seguir podem ser usados para realizar a síntese:

yarn blueprint:synth # fast mode yarn blueprint:synth --cache # wizard emulation mode

O blueprint começa chamando a blueprint.ts classe principal com essa opção mesclada. defaults.json Um novo pacote de projeto é gerado na synth/synth.[options-name]/proposed-bundle/ pasta. A saída inclui o pacote de projetos que um blueprint personalizado gera, dadas as opções definidas, incluindo as opções parciais que você pode ter configurado.

Ressíntese

A ressíntese é o processo de regeneração de um blueprint com diferentes opções de blueprint ou versões de blueprint de projetos existentes. Como autor do blueprint, você pode definir estratégias de mesclagem personalizadas no código do blueprint personalizado. Você também pode definir limites de propriedade em um .ownership-file para especificar em quais partes da base de código um blueprint pode ser atualizado. Embora o blueprint personalizado possa propor atualizações para o.ownership-file, os desenvolvedores de projetos que usam o blueprint personalizado podem determinar os limites de propriedade de seus projetos. Você pode executar a ressíntese localmente, testar e atualizar antes de publicar seu blueprint personalizado. Use os comandos a seguir para realizar a ressíntese:

yarn blueprint:resynth # fast mode yarn blueprint:resynth --cache # wizard emulation mode

O blueprint começa chamando a blueprint.ts classe principal com essa opção mesclada. defaults.json Um novo pacote de projeto é gerado na synth/resynth.[options-name]/ pasta. A saída inclui o pacote de projetos que um blueprint personalizado gera, dadas as opções definidas, incluindo as opções parciais que você pode ter configurado.

Os seguintes conteúdos são criados após os processos de síntese e ressíntese:

  • proposed-bundle - A saída da síntese quando ela é executada com novas opções para a versão do blueprint de destino.

  • existing-bundle - Uma simulação do seu projeto existente. Se não houver nada nessa pasta, ela será gerada com a mesma saída que eleproposed-bundle.

  • ancestral-bundle - Uma simulação do que seu blueprint geraria quando executado com uma versão anterior, opções anteriores ou uma combinação. Se não houver nada nessa pasta, ela será gerada com a mesma saída doproposed-bundle.

  • pacote resolvido - O pacote é sempre regenerado e o padrão é uma mesclagem de três vias entre o, e o. proposed-bundle existing-bundle ancestor-bundle Esse pacote fornece uma emulação do que uma ressíntese produziria localmente.

Para saber mais sobre os pacotes de saída do blueprint, consulte. Gerando arquivos com ressíntese

Opções parciais

Você pode adicionar variações de opções src/wizard-configuration/ que não precisem enumerar toda a Options interface, e as opções são mescladas na parte superior do arquivo. defaults.json Isso permite que você personalize os casos de teste em opções específicas.

Exemplo:

Optionsinterface:

{ language: "Python" | "Java" | "Typescript", repositoryName: string ... }

Arquivo defaults.json:

{ language: "Python", repositoryName: "Myrepo" ... }

Testes adicionais de configuração:

  • #wizard-config-typescript-test.json { language: "Typescript", }
  • #wizard-config-java-test.json { language: "Java", }

Projen

O Projen é uma ferramenta de código aberto que os projetos personalizados usam para se manterem atualizados e consistentes. Os blueprints vêm como pacotes do Projen porque essa estrutura fornece a capacidade de criar, agrupar e publicar projetos, e você pode usar a interface para gerenciar as configurações e configurações de um projeto.

Você pode usar o Projen para atualizar os esquemas em grande escala, mesmo depois de criados. A ferramenta Projen é a tecnologia subjacente por trás da síntese do plano que gera um pacote de projetos. O Projen possui a configuração de um projeto e isso não deve impactar você como autor do blueprint. Você pode executar yarn projen para regenerar a configuração do seu projeto depois de adicionar dependências ou pode alterar as opções no projenrc.ts arquivo. O Projen também é a ferramenta de geração subjacente para esquemas personalizados para sintetizar um projeto. Para obter mais informações, consulte a página do projeto GitHub . Para saber mais sobre como trabalhar com o Projen, consulte a documentação do Projen e Como simplificar a configuração do projeto com o Projen.