Skip to content

sprint2 cierre devops

Anderson Giovanny Castiblanco Prieto edited this page Nov 6, 2023 · 13 revisions

Sprint2 - Cierre - Devops

Principos DevOps en el proyecto

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 aws-ecr

  • definición de tareas aws-tasks

  • servicios ECS aws-services

Commits / Pull Requests

network-graph

  • 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 (companies, projects, candidates, pruebas, preguntas), con un coverage superior al 80%:

pipeline-ci-cd

Service
candidatos-cmd
collaborators
projects
companies
pruebas-qry
preguntas-qry
candidatos-qry
  • 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
login-e2e
projects-e2e
candidates-e2e
companies-e2e-run
  • Patrón Command command-pattern

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

Clone this wiki locally