Intégrer Docker Scout avec Circle CI
L'exemple suivant s'exécute lorsqu'il est déclenché dans CircleCI. Lorsqu'il est déclenché, il vérifie l'image et le tag "docker/scout-demo-service:latest" puis utilise Docker Scout pour créer un rapport CVE.
Ajoutez ce qui suit à un fichier .circleci/config.yml.
D'abord, configurez le reste du workflow. Ajoutez ce qui suit au fichier YAML :
version: 2.1
jobs:
build:
docker:
- image: cimg/base:stable
environment:
IMAGE_TAG: docker/scout-demo-service:latest
Ceci définit l'image de conteneur que le workflow utilise et une variable d'environnement pour l'image.
Ajoutez ce qui suit au fichier YAML pour définir les étapes du workflow :
steps:
# Récupérer les fichiers du dépôt
- checkout
# Configurer un environnement Docker séparé pour exécuter les commandes `docker`
- setup_remote_docker:
version: 20.10.24
# Installer Docker Scout et se connecter à Docker Hub
- run:
name: Installer 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
# Construire l'image Docker
- run:
name: Construire l'image Docker
command: docker build -t $IMAGE_TAG .
# Exécuter Docker Scout
- run:
name: Scanner l'image pour les CVE
command: |
docker-scout cves $IMAGE_TAG --exit-code --only-severity critical,high
Ceci récupère les fichiers du dépôt puis configure un environnement Docker séparé pour exécuter les commandes.
Il installe Docker Scout, se connecte à Docker Hub, construit l'image Docker, et puis exécute Docker Scout pour générer un rapport CVE. Il ne montre que les vulnérabilités critiques ou de gravité élevée.
Enfin, ajoutez un nom pour le workflow et les tâches du workflow :
workflows:
build-docker-image:
jobs:
- build