

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Entorno de desarrollo
<a name="development-environment"></a>

El *entorno de desarrollo* es donde los desarrolladores integran su código para garantizar que todo funcione como una aplicación cohesiva. En Gitflow, el entorno de desarrollo contiene las últimas funciones incluidas en la solicitud de fusión y están listas para su lanzamiento. En las estrategias GitHub Flow y Trunk, el entorno de desarrollo se considera un entorno de pruebas y el código base puede ser inestable e inadecuado para su despliegue en producción.

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

Asigne los permisos de acuerdo con el principio de privilegios mínimos. El *privilegio mínimo* es la práctica recomendada de seguridad que consiste en conceder los permisos mínimos necesarios para realizar una tarea. Los desarrolladores deberían tener menos acceso al entorno de desarrollo que al entorno sandbox.

## Pasos de construcción
<a name="build-steps"></a>

Al crear una solicitud de fusión para la `develop` rama (Gitflow) o la `main` rama (Trunk o GitHub Flow), se inicia automáticamente la compilación.

1. Usa [git-secrets](https://github.com/awslabs/git-secrets) (GitHub) para buscar información confidencial

1. Borra el código fuente

1. Compila y compila el código fuente, si corresponde

1. Realice pruebas unitarias

1. Realice un análisis de cobertura de código

1. Realizar un análisis de código estático

1. Construye iAC

1. Realice un análisis de seguridad de IaC

1. Extraiga licencias de código abierto

## Pasos de implementación
<a name="deployment-steps"></a>

Si utilizas el modelo de Gitflow, los pasos de despliegue se inician automáticamente cuando una `develop` rama se ha creado correctamente en el entorno de desarrollo. Si utilizas el modelo GitHub Flow o el modelo Trunk, los pasos de despliegue se inician automáticamente cuando se crea una solicitud de fusión en la `main` sucursal. Los siguientes son los pasos de implementación en el entorno de desarrollo:

1. Descargue los artefactos publicados desde los pasos de construcción

1. Realice el versionado de la base de datos

1. Realice el despliegue de iAC

1. Realice pruebas de integración

## Expectativas antes de pasar al entorno de pruebas
<a name="expectations-before-moving-to-the-testing-environment"></a>
+ Creación e implementación satisfactorios de la `develop` rama (Gitflow) o la `main` sucursal (Trunk o GitHub Flow) en el entorno de desarrollo
+ Las pruebas unitarias se aprueban al 100%
+ Construcción exitosa de iAC
+ Los artefactos de despliegue se crearon correctamente
+ Un desarrollador ha realizado una verificación manual para confirmar que la función funciona según lo esperado