Protéger vos tags avec Gitlab
J’ai récemment modifié la pipeline d’un de mes projets versionné sur Gitlab pour que le job de déploiement ne soit effectué qu’à la création d’un tag et non à chaque commit fait sur la branche master. Ceci est possible grâce à l’utilisation du mot clé only
dans mon fichier .gitlab-ci.yml
Pourtant lorsque j’ai ajouté mon premier tag à mon projet, son déploiement a échoué, car il se trouve que pour déployer mon projet je dois indiquer à mon hébergeur mes identifiants de connexion. Et comme je profite des runners partagés par Gitlab pour effectuer mes déploiements je dois utiliser des variables protégées, pour qu’elles soient transmises de manière sécurisé au runner effectuant le déploiement.
Or il se trouve que les variables protégées ne sont accessible que pour des jobs s’exécutant depuis une branche ou un tag protégé(e). Je devais alors trouver un moyen de protéger mon tag et les suivants pour être sur que mes déploiements futures fonctionneraient.
Pour créer un tag protégé il faut procéder de la manière suivante dans Gitlab :
- Accéder à la partie Repository des réglages de votre projet
- Sélectionner le tag à protéger ou utiliser un pattern pour protéger tous les tags correspondant à ce pattern (dans mon cas
v*
suffisait)
Dorénavant tout mes déploiements n’auront aucun soucis à accéder à mes variables protégées lorsqu’ils sont effectués à partir d’un tag protégé.