将 Docker Scout 与 Circle CI 集成
以下示例在 CircleCI 中触发时运行。触发后,它会检出“docker/scout-demo-service:latest”镜像和标签,然后使用 Docker Scout 创建 CVE 报告。
将以下内容添加到.circleci/config.yml文件中。
首先,设置工作流程的其余部分。将以下内容添加到 YAML 文件中
version: 2.1
jobs:
build:
docker:
- image: cimg/base:stable
environment:
IMAGE_TAG: docker/scout-demo-service:latest
这定义了工作流程使用的容器镜像和镜像的环境变量。
将以下内容添加到 YAML 文件中以定义工作流程的步骤
steps:
# Checkout the repository files
- checkout
# Set up a separate Docker environment to run `docker` commands in
- setup_remote_docker:
version: 20.10.24
# Install Docker Scout and login to Docker Hub
- run:
name: Install Docker Scout
command: |
env
curl -sSfL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s -- -b /home/circleci/bin
echo $DOCKER_HUB_PAT | docker login -u $DOCKER_HUB_USER --password-stdin
# Build the Docker image
- run:
name: Build Docker image
command: docker build -t $IMAGE_TAG .
# Run Docker Scout
- run:
name: Scan image for CVEs
command: |
docker-scout cves $IMAGE_TAG --exit-code --only-severity critical,high
这会检出仓库文件,然后设置一个单独的 Docker 环境来在其中运行命令。
它安装 Docker Scout,登录到 Docker Hub,构建 Docker 镜像,然后运行 Docker Scout 生成 CVE 报告。它只显示严重或高危漏洞。
最后,为工作流程和工作流程的作业添加名称
workflows:
build-docker-image:
jobs:
- build