Opdracht
3.1 Blue-Green Deployment & Artifact Registry
In deze opdracht maken we een Blue-Green deployment voor een applicatie. Blue is de productieversie van de applicatie, Green is een nieuwe (test-)versie.
De applicatie is dezelfde als in week 1 en 2. De Blue-versie staat in de main-branch van de GitHub-repository, de Green-versie in een andere branch, bijvoorbeeld de test-branch.
Om de Docker-images op te slaan, gebruiken we nu de Google Artifact Registry, een alternatief voor Docker Hub.
Er wordt een pipeline aangemaakt zodat wanneer de code verandert, het Docker-image wordt gebouwd en het image gestart wordt in een pod op het Kubernetes-cluster in Google.

Voer de volgende stappen uit:
- Maak een Kubernetes-cluster aan met Google GKE.
- Maak een GitHub-repository aan met twee branches (
mainen bijvoorbeeldtest). Demain-branch bevat de productieversie van de applicatie; detest-branch de testversie. De applicatie is dezelfde als in week 1 en 2 (de testversie heeft enkele wijzigingen in hetindex.html-bestand). - Maak een Google Artifact Registry aan om de Docker-images met de applicatie op te slaan (als alternatief voor DockerHub).
- Maak een CI/CD-pipeline aan voor elke branch en gebruik omgevingsvariabelen voor region, cluster, etc. Gebruik https://medium.com/@gravish316/setup-ci-cd-using-github-actions-to-deploy-to-google-kubernetes-engine-ef465a482fd voor het opzetten van de pipeline. Pas de gegeven pipeline aan zodat die werkt in jouw omgeving.
- Maak deployments en de service aan voor een Blue-Green deployment.
- Deploy en test de productie- en testversie van de applicatie naar het Kubernetes-cluster via de pipeline.
- Schakel van blue naar green en terug door de service aan te passen. Controleer of de switch correct werkt.
3.2 Andere CI/CD-tools
Andere tools naast GitHub Actions zijn Argo CD en Flux CD. Onderzoek wat deze tools zijn en wat het verschil is met GitHub Actions.