Déployer automatiquement et en toute simplicité votre app web sur App Engine à l’aide de Gitlab CI
P assionné et amoureux des technos Google, pour mon tout premier article, j’ai décidé de vous partager mon expérience dans le domaine du DevOps avec Google Cloud. Je vous parlerai de comment déployer une application sur Google App Engine à l’aide Gitlab-CI.
Tout d’abord, commençons par décrire le processus de déploiement à mettre en place:
Disposant au préalable d’une application web stockée sur un repository Gitlab, nous configurons ensuite un pipeline pour déclencher le déploiement de notre application sur l’App Engine.
Tout ce que nous avons à faire :
1- Créer un compte service
2- Configurer Gitlab-CI
3- Observer la magie
1. Créer un compte service
Vous devez disposer dans un premier temps d’un compte service. Un compte service est un utilisateur créé spécialement pour une application ou pour une VM qui lui permet en fonction des rôles et accès définis, d’accéder aux ressources dédiées à cette application ou à cette VM.
Pourquoi utiliser un compte service dans notre cas ?
Nous utiliserons un compte service pour permettre à Gitlab d’utiliser le service de déploiement cloud-build de notre application.
Pour créer un compte service, nous nous rendons sur iam-admin. Après avoir renseigné le nom du service, choisissons les rôles suivants:
- Administrateur App Engine
2. Utilisateur à l’origine du déploiement et administrateur de services
3. Télécharger la clé JSON (Nous en aurons besoin pour les configurations Gitlab)
Une fois la création terminée, nous devons nous rendre dans le menu ‘stockage’ pour ajouter notre utilisateur aux buckets:
- staging.PROJECT-ID.appspot.com
- us.artifacts.PROJECT-ID.appspot.com
Nous ajoutons par la suite le rôle de créateur d’objets de l’espace stockage et de lecteur d’objets de l’espace stockage à notre utilisateur.
La dernière étape de la console c’est d’activer cloud-build
2. Configurer Gitlab-ci
Rdv dans votre projet Gitlab ensuite dans le menu paramètre, puis CI/CD et ajoutons 2 variables :
- PROJECT_ID pour l’id du projet
- SERVICE _ ACCOUNT pour le contenu de votre clé JSON
Ensuite créer .gitlab-ci.yml à la racine du projet
3. Magic 🎩
Maintenant, git push déploie automatiquement votre code dans votre environnement..