If you are working in a software company, you are already familiar with Kanban boards that allow you to track tasks between different states such as backlog, in progress, done, etc.
At Codefresh, we like using Kanban boards so much that we decided to use them for our deployments. When we want to push a release to production we just move the Helm card in the next column! How cool is that?
Each column in the board represents a different environment (Kubernetes cluster). You can drag-n-drop a Helm release to any column on the right (promoting the release), or to any column on the left (demoting the release).
The columns are completely configurable and you can create multiple boards that cater to different processes in your organization.
Creating your own environment Kanban board
Codefresh allows you to create any number of environment boards. Here are some examples:
- Dev/QA/Production (old time classic)
- QA/Load-testing/Security analysis (for companies with compliance requirements)
- Integration testing/User acceptance testing/Stress testing (for companies that really love testing)
The important point is that you can create as many environments as you want. Each environment can be either a completely different cluster or a different namespace in the same cluster.
Creating new boards happens via the friendly Codefresh UI. You can even assign colors to different environments for each identification.
Once you create an environment you will automatically see all Helm releases that are deployed there.
One of the core principles behind Codefresh is having full visibility on how a git commit reaches production. The Helm environment boards help you to see both the big picture (what environments are available) as well as all the details (what releases are present on each environment).
Moving releases between cluster/environments
Once your Kanban board is ready, you are free to move any Helm release to a column on the right (promoting that release) or even on the left (demoting it).
The canonical example of promoting a release would be the case when manual approval is needed for production deployments. Another common case would be a QA manager that moves a specific release to the next testing stage. The possibilities are endless.
You can also demote a Helm release by dragging it one column which is on the left.
Here the classic example is when you want to move a problematic release to a Dev/QA environment that has all the debugging tools needed by developers who will be responsible for fixing the problem.
Codefresh environment boards can be adapted to any process followed by your company, becoming the single source of truth for all project stakeholders regarding what is deployed where.
For organizations that practice true Continuous deployment, you can also promote releases in an automated manner without any human approval (or UI access) using the Codefresh CLI.
More details are available in the documentation.
The Helm environment dashboards are available to all enterprise customers. If you wish to evaluate the feature in another type of account please contact us.
New to Codefresh? Create Your Free Account Today!