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á.
Criar uma configuração de sincronização de modelos
Saiba como criar uma configuração de sincronização de modelos com AWS Proton o.
Criar os pré-requisitos de uma configuração de sincronização de modelos:
-
Você vinculou um repositório com o AWS Proton.
-
Um pacote de modelos está localizado no seu repositório.
O link do repositório consiste no seguinte:
-
Uma CodeConnections conexão que dá AWS Proton permissão para acessar seu repositório e assinar suas notificações.
-
Um perfil vinculado a serviço. Ao vincular o repositório, o perfil vinculado ao serviço será criado para você.
Antes de criar sua primeira configuração de sincronização de modelos, envie um pacote de modelos para seu repositório, conforme mostrado no layout de diretório a seguir.
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/
Depois de criar sua primeira configuração de sincronização de modelos, novas versões de modelo são criadas automaticamente quando você envia um commit que adiciona um pacote de modelos atualizado em uma nova versão (por exemplo, em /my-env-template/v2/
).
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
Você pode incluir novas versões do pacote de modelos para um ou mais modelos configurados para sincronização em um único commit. AWS Proton cria uma nova versão de modelo para cada nova versão do pacote de modelos que foi incluída no commit.
Depois de criar a configuração de sincronização do modelo, você ainda pode criar manualmente novas versões do modelo no console ou com o AWS CLI fazendo o upload de pacotes de modelos de um bucket do S3. A sincronização de modelos só funciona em uma direção: do seu repositório para o. AWS Proton As versões do modelo criadas manualmente não são sincronizadas.
Depois de definir uma configuração de sincronização de modelos, AWS Proton escuta as alterações no seu repositório. Sempre que uma alteração é enviada, ela procura por qualquer diretório que tenha o mesmo nome do seu modelo. Em seguida, ele procura dentro desse diretório por quaisquer diretórios que se pareçam com as versões principais. AWS Proton registra o pacote de modelos na versão principal do modelo correspondente. As novas versões estão sempre no estado de DRAFT
. Você pode publicar as novas versões com o console ou AWS CLI.
Por exemplo, suponha que você tenha um modelo chamado my-env-template
configurado para sincronizar a partir do my-repo/templates
em uma ramificação main
com o layout a seguir.
/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
AWS Proton sincroniza o conteúdo de /templates/my-env-template/v1/
para my-env-template:1
e o conteúdo de /templates/my-env-template/v2/
paramy-env-template:2
. Se eles ainda não existirem, ele cria essas versões principais.
AWS Proton encontrou o primeiro diretório que correspondia ao nome do modelo. Você pode limitar as AWS Proton pesquisas de diretórios especificando um subdirectoryPath
ao criar ou editar uma configuração de sincronização de modelo. Por exemplo, é possível especificar /production-templates/
para o subdirectoryPath
.
Você pode criar um modelo de configuração de sincronização utilizando o console ou o CLI.
Como sincronizar modelos de serviço
Os exemplos anteriores mostram como sincronizar modelos de ambiente. Os modelos de serviço são semelhantes. Para sincronizar modelos de serviço, você adiciona um arquivo adicional chamado .template-registration.yaml
a cada diretório de versão principal em seu pacote de modelos. Esse arquivo contém detalhes adicionais AWS Proton necessários ao criar uma versão de modelo de serviço para você após uma confirmação. Ao criar explicitamente uma versão de modelo de serviço usando o AWS Proton console ou a API, você fornece esses detalhes como entradas, e esse arquivo substitui essas entradas para sincronização de modelos.
./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/instance_infrastructure/ # template bundle /templates/my-svc-template/v1/schema/
O arquivo .template-registration.yaml
contém os detalhes a seguir.
-
Ambientes compatíveis [obrigatório]: Ambientes baseados nesses modelos de ambiente e versões principais são compatíveis com serviços baseados nessa versão de modelo de serviço.
-
Fontes de componentes compatíveis [opcional]: Componentes que usam essas fontes são compatíveis com os serviços baseados nessa versão de modelo de serviço. Se não for especificado, os componentes não poderão ser anexados a esses serviços. Para obter mais informações sobre componentes, consulte Componentes do AWS Proton.
A sintaxe YAML do arquivo é a seguinte:
compatible_environments: -
env-templ-name
:major-version
- ... supported_component_sources: - DIRECTLY_DEFINED
Especifique uma ou mais combinações de modelo de ambiente/versão principal. A especificação supported_component_sources
é opcional e o único valor suportado é DIRECTLY_DEFINED
.
exemplo .template-registration.yaml
Neste exemplo, a versão do modelo de serviço é compatível com as versões principais 1 e 2 do modelo de ambiente my-env-template
. Também é compatível com as versões principais 1 e 3 do modelo de ambiente another-env-template
. O arquivo não especifica o supported_component_sources
; portanto, os componentes não podem ser anexados aos serviços com base nessa versão do modelo de serviço.
compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
nota
Anteriormente, AWS Proton definiu um arquivo diferente.compatible-envs
,, para especificar ambientes compatíveis. AWS Proton ainda suporta esse arquivo e seu formato para compatibilidade com versões anteriores. Não recomendamos mais usá-lo, porque ele não é extensível e não oferece suporte a recursos mais novos, como componentes.