This is an old revision of the document!
Laborator 3: Implementarea unui pipeline CI/CD
Obiective
Construirea și livrarea containerizată a aplicației dezvoltate în laboratoarele anterioare
Configurarea unui pipeline CI/CD pentru automatizarea procesului de build și deployment
Implementarea unui sistem de deployment automat în mediu de test/production
Cerințe tehnologice
* Versionare cod: GitHub/GitLab cu strategii de branching (Git Flow)
* CI/CD Pipeline: GitHub Actions/GitLab CI/CD/Jenkins
* Containerizare: Docker, Docker Compose
* Deployment: Kubernetes (Minikube/MicroK8s) sau Docker Swarm
Funcționalități
1. Construirea și gestionarea containerelor Docker
Crearea unui Dockerfile pentru aplicație
Configurarea unui sistem de build și push automat către un registry (Docker Hub, GitHub Container Registry)
Utilizarea Docker Compose pentru rularea serviciilor local
2. Implementarea pipeline-ului CI/CD
Definirea workflow-ului CI/CD (build, push, deploy)
Configurarea unui sistem de build automat la fiecare commit sau pull request
Automatizarea livrării containerului către registry
3. Deployment automatizat
Implementarea unui sistem de deploy automat în mediu de testare
Configurarea unui mediu de staging/producție folosind Kubernetes/Docker Swarm
Rollback automat în caz de eșec al deployment-ului
Evaluare
* Construirea și livrarea aplicației în containere Docker (40%)
* Configurarea și rularea pipeline-ului CI/CD (30%)
* Deployment automatizat în mediu de test/producție (30%)
Resurse suplimentare