Continuous delivery with Ketch, GitHub Actions, and k3d
Can we combine the simplicity of deploying applications with Ketch with GitHub Actions and accomplish a fully automated continuous delivery pipeline?
Here’s what we’ll do.
We’ll create GitHub Actions that will fully automate all the tasks starting from creating a pull request all the way until a release is deployed to production.
We’ll create two pipelines. One will be executed whenever we create a pull request or make any change to existing PRs. The other will run as a result of pushing changes to the mainline.
The PR pipeline will perform the following steps.
- Build container images and push them to a registry
- Create a temporary (and free) Kubernetes cluster
- Deploy a release candidate to the cluster
- Run tests to validate whether the PR meets the quality standards
The mainline pipeline will perform the following steps.
- Build container images and push them to a registry
- Connect to the production cluster
- Deploy the release to the cluster
The creation of a temporary cluster will be done through k3d, while Ketch will handle deployments.
Let’s go: https://learn.theketch.io/docs/continuous-delivery-with-ketch-github-actions-and-k3d