GitLab CI
GitLab CI lance le gate Mankinds via l'image container ghcr.io/mankinds/ci. L'image encapsule les appels publics /api/v1/agents/{agent_id}/runs et retourne le bon code de sortie CI.
1. Stockez la clé API en variable CI/CD
Dans votre projet :
- Settings → CI/CD → Variables → Add variable.
- Clé :
MANKINDS_API_KEY. - Valeur : la clé copiée depuis Mankinds à la création.
- Cochez Protect variable (injectée uniquement sur les branches protégées) et Mask variable (jamais affichée dans les logs).
2. Ajoutez le job dans .gitlab-ci.yml
mankinds_eval:
image: ghcr.io/mankinds/ci:v1
stage: test
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
script:
- mankinds-ci --agent 00000000-0000-4000-8000-000000000000
variables:
MANKINDS_API_KEY: $MANKINDS_API_KEY
Remplacez 00000000-0000-4000-8000-000000000000 par l'UUID de votre agent. Le job sort en 0 quand le gate passe et en 1 quand il échoue, ce qui marque le pipeline en conséquence.
3. Bloquer les merges sur un gate échoué (optionnel)
Pour appliquer le gate sur les merge requests, activez Settings → Merge requests → Pipelines must succeed et gardez le job mankinds_eval sur les pipelines de merge request ciblant main.
Options
Le flag requis est --agent. La commande accepte aussi :
--base-url: remplacehttps://app.mankinds.iopour un autre déploiement.--timeout-minutes: temps maximum d'attente avant échec du job.
La clé API est lue depuis MANKINDS_API_KEY ; préférez la variable CI/CD à un --api-key inline.
Image Docker
docker run --rm \
-e MANKINDS_API_KEY=$MANKINDS_API_KEY \
ghcr.io/mankinds/ci:v1 \
--agent 00000000-0000-4000-8000-000000000000
Utilisez le tag majeur :v1 en CI. La même image peut tourner en local pour reproduire un résultat de gate hors GitLab.
Voir aussi
- Configuration du quality gate : ajustez la règle qui décide pass/fail.
- GitHub Actions : configuration du workflow GitHub.
- Autres providers CI : CircleCI, Bitbucket Pipelines, Jenkins.