https://tracetest.io/blog/50-faster-ci-pipelines-with-github-actions
My colleague re-wrote the CI pipelines of our open-source project. We moved from K8s to Docker Compose and now the pipelines are building 50% faster and are 90% more reliable! Wanted to share what we learned.
Issues we had with K8s:
1. False negatives.
2. Slow build times, often above 30 minutes per run.
3. Not contributor friendly, due to secret credentials.
4. Hard to maintain, due to long YAML files and polluted Docker Hub repository.
5. Multiple deployments per pull request, due to insufficient parallelization.
6. Using Kubernetes and kubectl port-forward
7. introduced connection issues.
After moving to Docker Compose:
1. It runs locally, don’t need any credentials or tunneling. Can connect to localhost.
2. Don’t need to wait for long deployments. Once the Docker Compose stack is up, it’s ready to go, usually in seconds.
3. Instead of publishing images, can use docker save/load to export/import the image as a tar file and pass it around as a build artifact. Again, no credentials are needed for this.
This new pipeline takes between 12 and 16 minutes to run.
• The best case is 3 minutes faster than the old best case.
• The worst case is 15 minutes faster than the old worst case — a 50% reduction in time.