Livraison continue avec Gitlab-CI et Clever Cloud

Livraison continue avec Gitlab-CI et Clever Cloud
crédit photo:  Clever Cloud

Dans cet article nous allons voir comment configurer un dépôt pour déployer votre application sur Clever Cloud.

Tout d'abord, nous allons expliquer les différentes étapes à suivre pour créer un dépôt et configurer les paramètres nécessaires pour assurer un déploiement réussi.

Ensuite, nous allons aborder la deuxième partie de cet article, qui explique comment configurer votre pipeline Gitlab CI/CD pour déployer votre code.

Si vous êtes déjà familier avec l'utilisation de Clever Cloud et que vous avez déjà une application configurée, vous pouvez passer directement à la deuxième partie de cet article pour apprendre comment configurer votre pipeline Gitlab CI/CD pour déployer votre code. Nous allons vous expliquer comment utiliser les outils et les fonctionnalités de Clever Cloud pour optimiser votre déploiement

Préparer votre dépôt

Installer l’utilitaire clever-tools

Pour commencer, vous devez créer un compte sur le site de Clever Cloud.

Une fois votre compte créé, rendez-vous sur votre terminal préféré et installer l’utilitaire clever-tools .

yarn global add clever-tools

## Pour bénéficier de l'auto-complete vous pouvez utiliser cette ligne de commande
clever --zsh-autocomplete-script $(which clever) | sudo tee /usr/share/zsh/site-functions

Sachez que vous pouvez également utiliser l’image Docker officielle de l’utilitaire :

docker run -v ${PWD}:/actions clevercloud/clever-tools --help

Création d’une application & configuration de votre dépôt

Dans un premier temps, nous allons nous authentifier avec l’utilitaire clever-tools, pour cela vous pouvez taper la commande suivante dans votre terminal :

clever login

Une fenêtre de navigateur s’ouvre, vous invitant à vous connecter. Un fois vos identifiants saisis, noter le couple CLEVER_TOKEN, CLEVER_SECRET qui sont apparu, cela nous servira plus tard.

<div style=" width: 70%; display: block; margin: 0 auto; ">

clever-cloud-01.png

</div>

Il faut maintenant créer notre application. Il est possible de le faire sur le site mais vous pouvez directement le faire depuis votre terminal. Pour cela, vous avez besoin de connaitre l’identifiant de votre organisation, la région sur laquelle vous souhaitez déployer votre application ainsi que le type d’application.

Pour illustrer le processus, nous allons créer une application nommée "mon-application" qui utilisera Docker comme moteur de conteneurisation. Vous pouvez vous référer à la documentation pour choisir la région et à votre tableau de bord pour obtenir l'identifiant adéquat.

Pour rappel, la région est importante pour des raisons de performances et de conformité réglementaire. Choisissez donc la région en conséquence pour garantir une bonne expérience utilisateur et se conformer aux réglementations en vigueur ( RGPD ).

De même, le choix du nom de l’application est crucial car il permet de distinguer facilement votre application des autres applications présentes au sein de votre organisation, et de la gérer de manière précise.

clever create mon-application --type docker --region REGION --org ORGANIZATION

Ajoutons ensuite une destination supplémentaire à votre dépôt git, en utilisant la commande git remote. La valeur de remote à préciser figure dans le volet “informations” de votre application, sur votre tableau de bord.

clever-cloud-02

git remote add production git+ssh://git@push-n2-par-clevercloud-customers.services.clever-cloud.com/xxx.git

Nous allons également créer une autre application, dans le même dépôt, mais pour un environnement de staging.

clever create mon-application-staging --type docker --region REGION --org ORGANIZATION
git remote add staging https://push-n2-par-clevercloud-customers.services.clever-cloud.com/xxxx.git

Nous avons donc à présent deux applications Clever Cloud, une qui fera office de production et une pour le staging.

N'oubliez pas de modifier les variables d'environnement adéquates directement dans l'interface de Clever Cloud.

Configuration de Gitlab-CI

Pour configurer votre intégration continue Gitlab, vous devez dans un premier temps ajouter un fichier .gitlab-ci.yml à votre dépôt. Ce fichier se charge de décrire les étapes de votre pipeline de déploiement. Je vous conseille de consulter la documentation directement sur le site de Gitlab pour comprendre la structure du fichier et les différents mot-clés disponible.

Pour notre exemple, voici le fichier .gitlab-ci.yml qui correspondrait au déploiement de nos applications sur Clever Cloud :

image: node:lts

stages:
  - deploy

variables:
  ## Il est nécessaire que la copie du dépôt cloné par votre CI soit "unshallow"
  ## sinon le déploiement ne fonctionnera pas
  GIT_DEPTH: 0
  GIT_FETCH_EXTRA_FLAGS: --unshallow
  CLEVER_TOKEN: TOKEN
  CLEVER_SECRET: SECRET

before_script:
  # Installation Clever Cloud CLI
  - npm install -g clever-tools
  # Authentification via API
  - clever login --token $CLEVER_TOKEN --secret $CLEVER_SECRET

deploy_staging:
  stage: deploy
  when: manual
  script:
    # En partant du principe que votre application
    # sur l'environement staging s'appelle "mon-application-staging"
    - clever deploy --force --quiet --alias mon-application-staging

deploy_production:
  stage: deploy
  when: manual
  script:
    # En partant du principe que votre application
    # sur l'environement staging s'appelle "mon-application"
    - clever deploy --force --quiet --alias mon-application

Pour que cela fonctionne, vous devez définir les variables d'environnement CLEVER_KEY et CLEVER_SECRET dans la configuration de votre projet GitLab.

C’est ici que vous allez devoir ressortir les variables que vous avez obtenues lorsque vous avez utilisé clever login dans votre terminal.

Une fois que vous avez ajouté ce fichier à votre dépôt et configuré les variables d'environnement, vous pouvez lancer le déploiement en poussant votre code sur votre dépôt.

Le pipeline de déploiement sera exécuté, et le déploiement de vos applications pourra se faire après confirmation de votre part ( si vous souhaitez que le déploiement soit fait automatiquement, vous pouvez supprimer la ligne when: manual )

Petite observation complémentaire: vous ne pourrez pas utiliser l’image docker officielle de Clever Cloud dans votre pipeline Gitlab CI/CD car il est nécessaire de lier un volume contenant le fichier de configuration Clever Cloud, action qui n’est pas possible dans un environnement “Docker in Docker”.

Pour conclure, on peut dire que la mise en place d'une livraison continue pour votre application est essentielle. Cela permet de garantir une expérience utilisateur de qualité et une efficacité accrue de votre processus de développement !

J’espère que cet article vous a aidé à comprendre les étapes nécessaires pour configurer votre pipeline GitLab CI/CD et à optimiser votre déploiement en utilisant les outils et les fonctionnalités de Clever Cloud.

Tags

  • devops
  • Gitlab CI-CD
  • clever cloud
  • docker

Cet article à été posté le