Compartir comentarios
Las respuestas se generan en base a la documentación.

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.

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