¡Bienvenido/a al ejercicio semanal de Github Actions para iniciarse en el mundo de DevOps!
Este repositorio contiene un ejercicio diseñado para ayudarte a familiarizarte con Github Actions y el CI/CD.
El propósito principal de este ejercicio es proporcionarte una introducción práctica a los conceptos de Github Actions que son esenciales para cualquier persona interesada en trabajar en el área de DevOps. Al completar estos ejercicios, esperamos que adquieras experiencia práctica con:
- Workflows
- Actions/ Custom Actions
- Workflows reusables
- Secrets y entornos
En este repositorio encontraréis un proyecto básico de Angular. Para el cual tendréis que elaborar los workflows necesarios para la Integración Continua y el Despliegue Continuo (CI/CD).
El workflow de CI será el encargado de realizar el build de la aplicación angular, construir la imagen y subirla al registry. (Dockerhub)
El workflow de CD será el encargado de bajar esa imagen y realizar el despliegue. (Este despliegue lo simularemos haciendo un curl al html de la aplicación que sirve el nginx)
La rama main/master será de desplegar en el entorno de production y la rama de development la usaremos para despliegues e integraciones continuas en uat.
- Uso de distintos triggers
- Uso de reusables (para entender cómo se pueden reusar workflows ya existentes, de esta manera no repetimos código ya escrito anteriormente.)
- Uso de custom actions (composite)
- Uso de variables y secrets de environments (en un entorno real, vas a encontrarte con distintas variables por entorno)
- Job que simulen la ejecución de Test de Cobertura de Código (en un entorno profesional vas a encontrarte con test de código, nosotros tenemos que encargarnos de que se lleven a cabo) Estos jobs se ejecutarán solo si estamos en el entorno "production", no en el de "uat".
- Uso de aprobadores por entornos. (Investigad)
¡Tus contribuciones son bienvenidas! Si tienes ideas para nuevos ejercicios o mejoras para los existentes, no dudes en abrir un issue o abrir un pull request.