将 Docker Scout 与 Jenkins 集成
您可以将以下阶段和步骤定义添加到 a 中,Jenkinsfile
以将 Docker Scout 作为 Jenkins 管道的一部分运行。管道需要一个DOCKER_HUB
包含用户名和密码的凭证,用于向 Docker Hub 进行身份验证。它还需要为图像和标签定义一个环境变量。
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'
}
}
}
}
这将安装 Docker Scout,登录 Docker Hub,然后运行 Docker Scout 来生成映像和标签的 CVE 报告。它仅显示严重或高严重性漏洞。
笔记
如果您看到
permission denied
与图像缓存相关的错误,请尝试将DOCKER_SCOUT_CACHE_DIR
环境变量设置为可写目录。或者,使用 完全禁用本地缓存DOCKER_SCOUT_NO_CACHE=true
。