Aller au contenu principal

GitLab pipelines

Préambule

L'intégration CI/CD GitGuardian avec GitLab CI/CD est exécutée via notre application CLI : ggshield. ggshield est un wrapper autour de l'API GitGuardian pour la détection de secrets, une clé API est requise pour l'authentification.

Note : si vous voulez assurer une couverture complète de vos projets GitLab ainsi que des scans complets de l'historique git et des reportings, vous pourriez être intéressé par l'utilisation de l'intégration GitLab de GitGuardian.

Aperçu

GitLab pipelines status

GitLab pipelines output

Installation

Les comptes de service sont recommandés pour exécuter cette intégration.

Veuillez noter que les comptes de service ne sont disponibles que pour les workspaces sous notre plan Business, et leur administration est limitée aux Managers. Si votre workspace est sous le plan Free, vous pouvez toujours utiliser un personal access token pour exécuter cette intégration.

  1. Créez un compte de service depuis la section API de votre workspace GitGuardian (ou un personal access token si vous êtes sur le plan Free).
  2. Ajoutez cette clé API à la variable d'environnement GITGUARDIAN_API_KEY dans les paramètres de votre projet.

GitLab CI/CD env

  1. Ajoutez une nouvelle étape utilisant ggshield au pipeline de votre projet GitLab.
stages:
- scanning

gitguardian scan:
image: gitguardian/ggshield:latest
stage: scanning
script: ggshield secret scan ci

Notes supplémentaires

Pour que ggshield scanne chaque commit dans un pipeline de merge request, le CI doit cloner le dépôt complet au lieu de simplement récupérer la branche. Le snippet suivant garantit ce comportement.

variables:
GIT_STRATEGY: clone
GIT_DEPTH: 0