Source repository voor container én cloud functie
Voor deze opgave (en later ook die voor Kubernetes) zullen we een build repository in Gitlab koppelen.
De bedoeling is duidelijk: we willen een cloud functie bouwen die bij elke push vernieuwd wordt, gebaseerd op de code in deze Gitlab-repo. Later zullen we deze zelfde repo ook gebruiken om de website container in te builden.
We gebruiken hiervoor de files die je vindt op (deze link)
De verschillende stappen die nodig zijn om dit mogelijk te maken zijn samengevat:
- Zet de bestanden in een eigen repository op Gitlab
- Maak een Gitlab token aan voor jouw Gitlab account. (een token op projectbasis zou nog beter zijn, maar lijkt momenteel niet te werken in combinatie met Google Cloud)
- Connecteer Gitlab en daarna de repository zelf in de GCP console bij Cloud build (via de google cloud console, deze stap hoeft niet via Terraform)
Bovenstaande stappen kan je nu reeds uitvoeren. Verder in deze opgave voeren we dan ook nog de volgende stappen uit:
- We voegen een cloudbuild-config toe aan de repository (dat wordt verder in deze opgave toegelicht)
- We maken een build trigger (dat wordt verder in deze opgave toegelicht)
Het is een evenwicht zoeken tussen wat je met Terraform wil gaan deployen van infrastructuur en tot waar je gaat met CICD. De oplossing die getoond wordt in deze opgave is dus zeker niet de enige mogelijke.