[DevOps] Continua integración

Time
AssignEdgar Rodriguez Antillon
StatusCompleted
Created byCarlos Sanchez
Last edited byCarlos Sanchez
Last edited time
Created time

Resumen

En el orden de cumplir con las mejores prácticas de DevOps, realizaremos las pruebas de continua integración y continuo despliegue.

Coordinarse con Gerardo Tovar para temas de seguridad.

@Edgar Rodriguez Antillon es el encargado de la infraestructura.

Servidor de preproducción: Servidor proporcionado por Judith.

Servidor de producción: Ninguno.

Criterios de aceptación

Esta tarea es prioritaria. Debe ser terminada a más tardar el 21/nov/2022 a las 4:00 UTC-8:

No proritario:

Sobre el servidor de producción, credenciales, …

Cada vez que los desarrolladores suben a la rama de develop, mediante una GitHub Action el repositorio es actualizado en el servidor de preproducción. Este es el servidor asignado por Judith.

Cada vez que los desarrolladores suben a la rama de master, mediante una GitHub Action el repositorio es actualizado en el servidor de producción. Esto quedará pendiente para el siguiente semestre.

Ambos servidores deben reproducir el mismo ambiente destino.

Las siguientes acciones deben realizarse: pruebas unitarias, pruebas de integración y despliegue.

Documentación

Usaremos Docker evitando cualquier problema de versionamiento o de instalación.

Usa el docker-compose prod para el despliegue en ambos servidores.

El archivo .env debe ser rellenado siguiendo .env-example. .env NUNCA debe ser versionado.

NOTA: Cada vez que el servidor es reiniciado el servicio docker reinicia automáticamente los servicios.

El servicio docker NO debe correr usando sudo.

Control de versiones

¿Quién? Usamos continua integración.

¿Cómo?

¿Diagrama de Hardware?

¿Entorno de desarrollo via docker?

Consideraciones

Referencias

Software Engineering at Google: Lessons Learned from Programming Over Time 1st Edición