Aller au contenu principal

Suivi des déploiements

Job qui signale chaque déploiement à un service de suivi, par un appel HTTP : quel projet, quel environnement, quelle version, quelle pipeline.

Sans CI_TRACKING_ENDPOINT, le job ne fait rien : il peut donc être inclus avant que le service ne soit prêt.

Fonctionnement​

Après le déploiement (stage postdeploy), le job appelle l'adresse CI_TRACKING_ENDPOINT en GET, avec ces paramètres :

ParamètreValeur
authCI_TRACKING_TOKEN
projectCI_TRACKING_PROJECT
project_namele nom du projet GitLab (CI_PROJECT_NAME)
environmentprod ou preprod
versionle tag en prod, <branche de preprod>-<numéro de pipeline> en preprod
ci_versionla version des templates (CI_TEMPLATE_VERSION)
urll'adresse de la pipeline
attention

Le jeton passe dans l'URL : il peut donc apparaître dans les journaux du service appelé. Lui donner des droits limités à cet usage, et déclarer CI_TRACKING_TOKEN en variable masquée.

La réponse du service n'est pas contrôlée : le job réussit même si le service répond par une erreur HTTP.

Utilisation​

variables:
CI_TEMPLATE_VERSION: &CI_TEMPLATE_VERSION main

include:
- project: kgaut/gitlab-ci-templates
ref: *CI_TEMPLATE_VERSION
file:
- '/templates/generic/stages-variables-extends.yml'
- '/templates/generic/deploy-tracking.yml'

Variables​

Nom de la variableContenuExempleRemarque
CI_TRACKING_ENDPOINTAdresse du service de suivihttps://suivi.exemple.fr/api/deploysans valeur, le job ne fait rien
CI_TRACKING_TOKENJeton d'authentification auprès du serviceà définir dans les variables CI, masquée
CI_TRACKING_PROJECTIdentifiant du projet dans le servicemon-projet

Ces mêmes variables servent à l'envoi des métriques QA, vers CI_METRIC_ENDPOINT.

Liste des jobs​

prod:deploy-track​

Signale le déploiement d'un tag en production

preprod:deploy-track​

Signale le déploiement de la branche PREPROD_BRANCH en préproduction