Skip to content

sprint3 cierre devops

Marlon Mauricio edited this page Nov 26, 2023 · 9 revisions

Sprint3 - Cierre - Devops

Principos DevOps en el proyecto

Integración Continua - Backend

  • Ejecución del pipeline CI/CD para cada microservicio. Se incluyen el nuevo micro interviews, además de los ajustes al micro projects para la implementación de la asociación de candidatos a proyectos y la evaluación de desempeño:

image

  • Se actualiza el servicio ECS de cada micro en el cluster ECS (infraestructura previamente creada con terraform):

image

  • además de las reglas del listener del Application Load Balancer:

image

Automatización - Infraestructura as code

En el proceso de mejora continua del proyecto, se logra implementar en AWS los componentes de infraestructura genéricos para el proyecto (vpc, private subnets, public subnets, roles, security groups, application load balancer, elastic container cluster) y los componentes de infraestructura relacionados a cada uno de los microservicios (repositories, task definitions, services, cloud watch logs, cpu profile, memory profile, target groups, rules, etc) utilizando la herramienta de infraestructura como código Terraform.

https://github.com/andergcp2/backend-proyecto-final/tree/main/aws-tf terraform

Se implementan módulos de cada componente de infraestructura para ser llamados desde el script principal: terraform-main

Terraform se encarga de aprovisionar y administrar la infraestructura definida en los scripts para la nube que se requiera, AWS para el caso de nuestro proyecto, a partir del archivo de variables donde se definen los microservicios y sus características técnicas:

tfvars

  • repositorios ECR ...

  • definición de tareas ...

  • servicios ECS ...

Commits / Pull Requests

  • Backend Commits

https://github.com/andergcp2/backend-proyecto-final/commits/main backend-commits

  • Backend PRs

https://github.com/andergcp2/backend-proyecto-final/pulls?q=is%3Apr+is%3Aclosed backend-prs

  • Frontend Commits

https://github.com/andergcp2/frontend-proyecto-final/commits/main frontend-commits

image

Rama Main

image
  • Frontend PRs

https://github.com/andergcp2/frontend-proyecto-final/pulls?q=is%3Apr+is%3Aclosed

image

Ejecución plan de pruebas

  • Pruebas unitarias

Se ejecutan pruebas unitarias, dentro del pipeline de integración y despliegue continuo, sobre los micros del backend (..., ...), con un coverage superior al 80%:

pipeline-ci-cd

Service
candidatos-cmd
  • Pruebas end-to-end

Se ejecutan pruebas de sistema E2E para verificar el correcto funcionamiento de las historias de usuario implementadas, utilizando Cypress e implementando los patrones Given-When-Then y Command para la facilidad de mantenimiento de los casos de prueba:

Service
companies-e2e-run
  • Patrón Command command-pattern

  • Patrón Given-When-Then given-when-then-pattern

Clone this wiki locally