Saltearse al contenido
ES EN

Integración CI/CD

Integrar Gerion en tu CI/CD garantiza que cada commit sea analizado automáticamente antes de llegar a producción. Gerion CLI funciona como un contenedor Docker, por lo que es compatible con cualquier sistema que pueda ejecutar contenedores.

Variables requeridas

En cualquier plataforma, necesitas configurar estas dos variables secretas:

VariableDónde configurarlaDescripción
GERION_API_URLVariable de entorno / pipeline variableURL base de tu Gerion API Gateway
GERION_API_KEYSecreto (nunca como variable pública)API key M2M de tu organización

Imagen Docker

ghcr.io/gerion-appsec/gerion-cli:latest

Comandos disponibles

ComandoDescripción
gerion scan-allEjecuta los cuatro escáneres en secuencia (recomendado)
gerion secrets-scanSolo credenciales y secretos hardcodeados
gerion sca-scanSolo dependencias vulnerables
gerion iac-scanSolo configuraciones de infraestructura
gerion sast-scanSolo análisis estático de código
gerion reportGenera un informe desde los hallazgos almacenados en la API

Modos de salida

El CLI prioriza el destino de la salida en este orden:

  1. --output-file → guarda en fichero (sin llamada a API, sin tabla en consola)
  2. --format → imprime formato por stdout
  3. GERION_API_URL + GERION_API_KEY → envía hallazgos a la API de Gerion
  4. Sin opciones → tabla Rich en consola

Detección automática de metadatos

Gerion CLI detecta automáticamente el entorno CI/CD y extrae nombre de repositorio, rama, commit y build ID de las variables de entorno nativas de cada plataforma. No necesitas configurar estas variables manualmente en GitHub Actions, GitLab CI ni Jenkins.

Para el resto de plataformas, usa los overrides explícitos:

Ventana de terminal
GERION_REPO_NAME="my-repo"
GERION_BRANCH_NAME="main"
GERION_COMMIT_HASH="abc123..."
GERION_BUILD_ID="42"

Códigos de salida

CódigoSignificado
0Scan completado (pueden existir hallazgos)
1Error de ejecución (herramienta fallida, timeout, dependencia faltante)

El CLI siempre retorna 0 aunque encuentre vulnerabilidades. Para bloquear el pipeline en base a hallazgos, usa el comando report para parsear los resultados y aplicar tus propias reglas de calidad.


Guías por plataforma

GitHub Actions

Container job nativo, SARIF para GitHub Advanced Security, y Action publicable en el Marketplace.

Ver guía →

GitLab CI

Integración con el Security Dashboard nativo de GitLab Ultimate mediante SARIF.

Ver guía →

Jenkins

Pipeline Declarativo y Shared Library (JSL) para reutilizar gerionScan() en cualquier Jenkinsfile.

Ver guía →

Azure DevOps

Pipeline YAML con dos stages: escaneo y generación de informe PDF.

Ver guía →

CircleCI

Comando reutilizable gerion_scan y workflows con soporte de contextos de organización.

Ver guía →

Bitbucket Pipelines

Steps con YAML anchors para máxima reutilización sin duplicar configuración.

Ver guía →