Automation with Docker for CI Workflows
For Docker Community All Hands 2022
Watch the walkthrough of this repo: https://www.youtube.com/watch?v=aZzV6X7XhyI
See this repositories' .github/workflows
directory for the below example workflows, ordered by number, simple to complex.
These examples are focused on five of Docker's official GitHub Actions.
These examples are based on three workflow diagrams on progressively more complex automation pipelines:
- Basic code PR automation workflow
- Intermediate code PR automation workflow
- Advanced code PR automation workflow
I also have a LIVE course on learning GitHub Actions for DevOps automation and Argo CD for GitOps-style deployments.
Example Workflows
- Basic Docker build
- Adding BuildKit cache
- Adding multi-platform builds
- Adding metadata to images
- Adding comments with image tags to PRs
- Adding CVE scanning
- Adding CVE security reporting
- Adding unit testing
- Adding integration testing
- Adding Kubernetes smoke tests
- Adding job parallelizing for mucho speed
GitHub Actions shown in these examples
- Docker Login
- Docker Setup Buildx
- Docker Setup QEMU
- Docker Metadata
- Docker Build and Push
- Aqua Security Trivy CVE Scan
- Super-Linter
- Setup k3d
- Find Comment
- Create or Update Comment
This repository is part of my example DevOps repos on GitHub Actions
- bretfisher/github-actions-templates - Main reusable templates repository
- bretfisher/super-linter-workflow - Reusable linter workflow
- bretfisher/docker-build-workflow- Reusable docker build workflow
- (you are here) bretfisher/docker-ci-automation - Step by step video and example of a Docker CI workflow
- My full list of container examples and tools
More reading
Docker Build/Push Action advanced examples My full list of container examples and tools