Ir al contenido
ES EN

GitLab CI

Añade las siguientes variables en Settings → CI/CD → Variables de tu proyecto:

| Variable | Protegida | Descripción | |---|---|---| | GERION_API_URL | Sí | URL del Gerion API Gateway | | GERION_API_KEY | Sí (enmascarada) | API key M2M de tu organización |

El resultado se envía al dashboard de Gerion. Copia este contenido en tu .gitlab-ci.yml:

stages:
- security
gerion-scan:
stage: security
image: ghcr.io/gerion-appsec/gerion-cli:latest
needs: []
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
- if: $CI_PIPELINE_SOURCE == "schedule"
script:
- gerion scan-all .

En lugar de copiar el YAML en cada repositorio, puedes incluir el template oficial de Gerion y extenderlo con tus propias variables:

include:
- project: 'gerion-appsec/gerion-cicd-configs'
file: '/gitlab-ci/gerion-include.yml'
ref: main
gerion-scan:
extends: .gerion-scan # hereda toda la config base
variables:
GERION_SCAN_TYPE: "secrets" # sobreescribe solo el tipo de scan

| Variable | Defecto | Descripción | |---|---|---| | GERION_SCAN_TYPE | all | all | secrets | sca | iac | sast | | GERION_OUTPUT_FORMAT | "" | json | markdown | sarif | vacío | | GERION_OUTPUT_FILE | "" | Ruta del fichero de salida | | GERION_LOG_LEVEL | info | debug | info | warning | error | | GERION_TIMEOUT | 180 | Timeout por escáner en segundos |

Para SARIF con artifacts configurados automáticamente, extiende .gerion-scan-sarif:

gerion-scan:
extends: .gerion-scan-sarif
  • Gerion CLI detecta automáticamente las variables de GitLab CI (GITLAB_CI, CI_PROJECT_NAME, CI_COMMIT_REF_NAME, CI_COMMIT_SHA). No es necesario configurar metadatos manualmente.
  • Al usar image: en el job, el CLI se ejecuta directamente como el contenedor del job sin necesidad de docker run.