Codefresh CI/CD Process

This is our process for automating docker builds and deploying helm charts to kubernetes clusters.

Unlimited Staging Environments

We use the following CI/CD process to implement “Unlimited Staging Environments”.

  1. Initialize Variables used by all build steps
  2. Generate Semantic Versions used to tag all docker images and helm charts.
  3. Build Docker Image from the Dockerfile
  4. Build Helm Charts pinned to version of docker image
  5. Push Docker Images to the docker registry
  6. Deploy Helm Charts to the clusters
  7. Send Slack Notification upon success

Demo

In a collaboration with Codefresh, we presented a demo of how we implemented it. Our strategy is still largely the same, however, since this demo we’ve added suport for chamber to manage secrets and helmfile for deploying collections of charts.