{"id":17062885,"url":"https://github.com/bretfisher/docker-ci-automation","last_synced_at":"2025-10-24T18:37:46.034Z","repository":{"id":42445139,"uuid":"474728112","full_name":"BretFisher/docker-ci-automation","owner":"BretFisher","description":"GitHub Actions automation examples with Docker's official actions","archived":false,"fork":false,"pushed_at":"2024-08-17T13:24:53.000Z","size":2143,"stargazers_count":295,"open_issues_count":1,"forks_count":327,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-02T23:33:10.695Z","etag":null,"topics":["buildkit","ci-cd","devops","docker","docker-build","dockercon","github-actions"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BretFisher.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"bretfisher.com/members"}},"created_at":"2022-03-27T18:44:21.000Z","updated_at":"2025-04-02T11:40:54.000Z","dependencies_parsed_at":"2023-12-14T23:21:59.377Z","dependency_job_id":"c5201447-41fd-47c4-a672-084c04d12e94","html_url":"https://github.com/BretFisher/docker-ci-automation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BretFisher%2Fdocker-ci-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BretFisher%2Fdocker-ci-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BretFisher%2Fdocker-ci-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BretFisher%2Fdocker-ci-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BretFisher","download_url":"https://codeload.github.com/BretFisher/docker-ci-automation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247208139,"owners_count":20901570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buildkit","ci-cd","devops","docker","docker-build","dockercon","github-actions"],"created_at":"2024-10-14T10:50:59.081Z","updated_at":"2025-10-24T18:37:45.975Z","avatar_url":"https://github.com/BretFisher.png","language":"Shell","funding_links":["bretfisher.com/members"],"categories":[],"sub_categories":[],"readme":"# Automation with Docker for CI Workflows\n\n[![Lint Code Base](https://github.com/bretfisher/docker-ci-automation/actions/workflows/call-super-linter.yaml/badge.svg)](https://github.com/bretfisher/docker-ci-automation/actions/workflows/call-super-linter.yaml)\n\n\u003e For Docker Community All Hands 2022\n\n[![All-Hands Automation with Docker](https://user-images.githubusercontent.com/792287/160971371-0ae75c14-1ea4-4a11-82dc-f35f96184fa3.gif)](https://www.youtube.com/watch?v=aZzV6X7XhyI)\n\nWatch the walkthrough of this repo: [https://www.youtube.com/watch?v=aZzV6X7XhyI](https://www.youtube.com/watch?v=aZzV6X7XhyI)\n\nSee this repositories' [`.github/workflows`](.github/workflows) directory for the below example workflows, ordered by number, simple to complex.\n\nThese examples are focused on five of Docker's [official GitHub Actions](https://github.com/marketplace?type=actions\u0026query=publisher%3Adocker+).\n\nThese examples are based on three workflow diagrams on progressively more complex automation pipelines:\n\n1. [Basic code PR automation workflow](diagrams/basic-code-pr.png)\n2. [Intermediate code PR automation workflow](diagrams/intermediate-code-pr.png)\n3. [Advanced code PR automation workflow](diagrams/advanced-code-pr.png)\n\nI also have a [LIVE course on learning GitHub Actions for DevOps automation and Argo CD](https://bret.courses/autodeploy) for GitOps-style deployments.\n\n## Example Workflows\n\n1. Basic Docker build\n2. Adding BuildKit cache\n3. Adding multi-platform builds\n4. Adding metadata to images\n5. Adding comments with image tags to PRs\n6. Adding CVE scanning\n7. Adding CVE security reporting\n8. Adding unit testing\n9. Adding integration testing\n10. Adding Kubernetes smoke tests\n11. Adding job parallelizing for mucho speed\n\n## GitHub Actions shown in these examples\n\n- [Docker Login](https://github.com/marketplace/actions/docker-login)\n- [Docker Setup Buildx](https://github.com/marketplace/actions/docker-setup-buildx)\n- [Docker Setup QEMU](https://github.com/marketplace/actions/docker-setup-qemu)\n- [Docker Metadata](https://github.com/marketplace/actions/docker-metadata-action)\n- [Docker Build and Push](https://github.com/marketplace/actions/build-and-push-docker-images)\n- [Aqua Security Trivy CVE Scan](https://github.com/marketplace/actions/aqua-security-trivy)\n- [Super-Linter](https://github.com/marketplace/actions/super-linter)\n- [Setup k3d](https://github.com/marketplace/actions/absaoss-k3d-action)\n- [Find Comment](https://github.com/marketplace/actions/find-comment)\n- [Create or Update Comment](https://github.com/marketplace/actions/create-or-update-comment)\n\n## This repository is part of my example DevOps repos on GitHub Actions\n\n- [bretfisher/github-actions-templates](https://github.com/BretFisher/github-actions-templates) - Main reusable templates repository\n- [bretfisher/super-linter-workflow](https://github.com/BretFisher/super-linter-workflow) - Reusable linter workflow\n- [bretfisher/docker-build-workflow](https://github.com/BretFisher/docker-build-workflow)- Reusable docker build workflow\n- (you are here) [bretfisher/docker-ci-automation](https://github.com/BretFisher/docker-ci-automation) - Step by step video and example of a Docker CI workflow\n- [My full list of container examples and tools](https://github.com/bretfisher)\n\n## More reading\n\n[Docker Build/Push Action advanced examples](https://github.com/docker/build-push-action/tree/master/docs/advanced)\n[My full list of container examples and tools](https://github.com/bretfisher)\n\n## 🎉🎉🎉 Join my container DevOps community 🎉🎉🎉\n\n- [My \"Vital DevOps\" Discord server](https://devops.fan)\n- [My weekly YouTube Live show](https://bret.live)\n- [My courses and coupons](https://www.bretfisher.com/courses)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbretfisher%2Fdocker-ci-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbretfisher%2Fdocker-ci-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbretfisher%2Fdocker-ci-automation/lists"}