CI / CD avec GKE et Cloud Build
Objectif
https://medium.com/platformer-blog/ci-cd-with-gke-and-google-cloud-build-98a797ecf346
Nous allons voir comment configurer une intégration continue entièrement géré par GCP via le service Cloud Build de manière à gérer un déploiement continue sur ukjinn Cluster Google Kubernetes Engine.
Le workflow à configurer sera le suivant :
- Push sur un dépôt distant (GitHub) sur une ou plusieurs branches définies
- Construction d'une image docker
- Mis à jour de l'image dans le registre géré par GCP
- Provisioning des variables d'environnement dans nos fichiers de déploiements kubernetes
- Mise à jour du déploiement Kubernetes sur notre cluster GKE
Pré-requis
Pour effectuer ces étapes, vous devez impérativement avoir :
- Un dépôt Git (dans notre exemple sur GitHub) dont vous êtes propriétaire
- Un Dockerfile fonctionnel sur votre dépôt
- Un cluster GKE à disposition (Google Kubernetes Engine)
Ajout d'un registre docker sur GCP
Rendez-vous sur Google Cloud Platform, et dans la section CI/CD > Artifact Registry, puis sur Créer un dépôt
|
Votre registre devrait apparaitre dans la liste après quelques minutes.
Vous pouvez obtenir l'adresse de votre registre en allant dans les détails de ce dernier.
Création d'un déclencheur Cloud Build
Ajout et configuration d'un service utilisateur
Pour permettre à notre service Cloud Build, il faut lui créer un compte de service qui possédera les droits nécessaires pour ajouter une image dans notre registre et mettre à jour notre cluster Kubernetes.
Allez dans la section Autres produits > IAM et adminstration > IAM
Vous devriez y trouver un utilisateur portant un nom avec ce format là :
<project-number>@cloudbuild.gserviceaccount.com