

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á.

# Ambiente de desenvolvimento
<a name="development-environment"></a>

O *ambiente de desenvolvimento* é onde os desenvolvedores integram seus códigos para garantir que tudo funcione como um aplicativo coeso. No Gitflow, o ambiente de desenvolvimento contém os recursos mais recentes incluídos pela solicitação de mesclagem e está pronto para lançamento. Nas estratégias de GitHub Flow e Trunk, o ambiente de desenvolvimento é considerado um ambiente de teste, e a base de código pode ser instável e inadequada para implantação na produção.

## Acesso
<a name="access"></a>

Atribua permissões de acordo com o princípio do menor privilégio. *Privilégio mínimo* é a prática recomendada de segurança para conceder as permissões mínimas necessárias para executar uma tarefa. Os desenvolvedores devem ter menos acesso ao ambiente de desenvolvimento do que ao ambiente sandbox.

## Etapas de construção
<a name="build-steps"></a>

A criação de uma solicitação de mesclagem para a `develop` ramificação (Gitflow) ou a `main` ramificação (Trunk ou GitHub Flow) inicia automaticamente a construção.

1. Use [git-secrets](https://github.com/awslabs/git-secrets) (GitHub) para verificar informações confidenciais

1. Lint, o código-fonte

1. Crie e compile o código-fonte, se aplicável

1. Execute testes unitários

1. Realizar análise de cobertura de código

1. Executar análise estática de código

1. Crie IaC

1. Execute a análise de segurança do IaC

1. Extraia licenças de código aberto

## Etapas da implantação
<a name="deployment-steps"></a>

Se você estiver usando o modelo Gitflow, as etapas de implantação serão iniciadas automaticamente quando uma `develop` ramificação for criada com sucesso no ambiente de desenvolvimento. Se você estiver usando o modelo GitHub Flow ou o modelo Trunk, as etapas de implantação serão iniciadas automaticamente quando uma solicitação de mesclagem for criada na `main` ramificação. A seguir estão as etapas de implantação no ambiente de desenvolvimento:

1. Baixe os artefatos publicados nas etapas de construção

1. Executar o controle de versão do banco de dados

1. Execute a implantação do IaC

1. Execute testes de integração

## Expectativas antes de passar para o ambiente de teste
<a name="expectations-before-moving-to-the-testing-environment"></a>
+ Construção e implantação bem-sucedidas da `develop` ramificação (Gitflow) ou da `main` ramificação (Trunk ou GitHub Flow) no ambiente de desenvolvimento
+ O teste unitário passa em 100%
+ Construção bem-sucedida do IaC
+ Os artefatos de implantação foram criados com sucesso
+ Um desenvolvedor realizou uma verificação manual para confirmar se o recurso está funcionando conforme o esperado