Saltearse al contenido
ES EN

GitLab CI

Configuración previa

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

VariableProtegidaDescripción
GERION_API_URLURL del Gerion API Gateway
GERION_API_KEYSí (enmascarada)API key M2M de tu organización

Pipelines

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 .

Template reutilizable (include)

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

Variables disponibles en el template

VariableDefectoDescripción
GERION_SCAN_TYPEallall | secrets | sca | iac | sast
GERION_OUTPUT_FORMAT""json | markdown | sarif | vacío
GERION_OUTPUT_FILE""Ruta del fichero de salida
GERION_LOG_LEVELinfodebug | info | warning | error
GERION_TIMEOUT180Timeout por escáner en segundos

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

gerion-scan:
extends: .gerion-scan-sarif

Notas

  • 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.