# Integrar Docker Scout con Jenkins


Puedes añadir la siguiente definición de etapa (stage) y pasos a un `Jenkinsfile` para ejecutar
Docker Scout como parte de un pipeline de Jenkins. El pipeline necesita una credencial `DOCKER_HUB`
que contenga el usuario y la contraseña para autenticarse en Docker Hub.
También necesita una variable de entorno definida para la imagen y la etiqueta.

```groovy
pipeline {
    agent {
        // Agent details
    }

    environment {
        DOCKER_HUB = credentials('jenkins-docker-hub-credentials')
        IMAGE_TAG  = 'myorg/scout-demo-service:latest'
    }

    stages {
        stage('Analyze image') {
            steps {
                // Install Docker Scout
                sh 'curl -sSfL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s -- -b /usr/local/bin'

                // Log into Docker Hub
                sh 'echo $DOCKER_HUB_PSW | docker login -u $DOCKER_HUB_USR --password-stdin'

                // Analyze and fail on critical or high vulnerabilities
                sh 'docker scout cves $IMAGE_TAG --exit-code --only-severity critical,high'
            }
        }
    }
}
```

Esto instala Docker Scout, inicia sesión en Docker Hub y luego ejecuta Docker Scout para
generar un informe de CVEs para una imagen y etiqueta determinadas. Solo muestra vulnerabilidades de
gravedad crítica o alta.

> [!NOTE]
>
> Si experimentas un error de `permission denied` (permiso denegado) relacionado con la caché de imágenes, intenta
> configurar la variable de entorno [`DOCKER_SCOUT_CACHE_DIR`](/scout/how-tos/configure-cli/) en
> un directorio en el que se pueda escribir. O, de forma alternativa, desactiva la caché local por
> completo con `DOCKER_SCOUT_NO_CACHE=true`.

