What is CodeFresh?
CodeFresh is a next-generation continuous delivery platform which was built specifically for microservices and container-based applications. As Kubernetes is a popular platform for deployment, scaling, and managing containerized applications and codeFresh has the best-in-class Kubernetes integration and complete GitOps Support, it becomes a popular choice specially for helm chart deployments.
Helm deployments can be visualized from the environment to the environment using Helm boards and Helm releases board can be used to see the current helm release to the environment and to roll back to the previous helm release. It provides SSO support with a wide variety of integration options.
What makes it different?
1. Container-based architecture
- Every step in CodeFresh is a container. This means each step is ultra-modular action that can be reused across pipelines without worrying about dependencies.
- Sharing the workspace between build steps:
- default workspace of each step is shared between all steps in a pipeline.
- This happens via a Docker volume which is attached to all Docker containers that represent each step. This volume is always available at /CodeFresh/volume and is used as the parent folder where the project is cloned.
2. Cloud and Version control agnostic
- It helps to avoid vendor lock-in which simplifies engineering processes in heterogeneous organizations.
3. Standardized pipeline creations and definitions. Resources as objects.
- Offers built-in format for creating pipelines.
- Pipeline specification is based on the YAML syntax which allows describing the pipeline in a declarative way.
- Pipeline YAML can stored in source code or on CodeFresh.
4. Graphical Pipeline View
- Organize the pipeline steps in stages for clarity.
- YAML, logs, state, commits, and metrics are all visible in one place that is Builds
- Any stakeholder can get an overview of your pipeline and what’s happened.
- A graphical view of pipelines becomes even more important if the pipeline gets complex and larger.
- Visibility of metrics of pipeline allows to instantly view bottlenecks and optimize slow build times without any guesswork.
5. Parallel Steps
- Build time reduces drastically which in turn results in CI/CD optimization/faster feedback.
- Run testing steps as soon as a developer pushes a new commit giving your team quick feedback.
6. Standardized Plugin Mechanism (Docker-based)
- Developers can create their own plugins without special knowledge of the CI/CD tool’s API or special language used for the platform
- The team member can create plugins in a standardized environment thus solving portability issues.
- Reuse existing plugins from other teams
- A plugin can be written in any programming language as long it is packaged as a docker image.
- Any public Dockerhub image is a potential step within new plugin development.
- It also offers a plugin marketplace with several existing plugins.
7. Everything configurable in the UI/UX and in code
- Configuration as code allows configuration to be stored in code allowing us to easily track changes.
- Flexibility between code/UI.
- Variables can be defined as part of YAML and store in code or define as part of pipeline settings through UI.
8. Live Pipeline debug with breakpoints
- The ability to debug a failed build is essential.
- Live debugging is more user-friendly and makes CI/CD creation process easier for engineers to test, troubleshoot, and fix pipelines.
- Breakpoints can be places at pipeline step to inspect the live states of the build.
9. Native Support for Kubernetes, Helm and Docker
Provides native Kubernetes, Helm, and Docker Dashboards
- With our Kubernetes dashboard:
- It is easy to fully trace into clusters, as one can monitor what images are currently running, and trace them all the way back to an individual commit.
- The ability to create and edit services, deployments, and more
- Visibility across clusters all in one place, along with their state, status, and any errors
- With our Helm dashboards:
- View the status of currently deployed releases
- One-click rollbacks of your production Kubernetes cluster
- A rolling version history (with diffs) of various chart versions
- Drag-and-drop Helm release promotions to different environments
- With our Docker image dashboard:
- Details such as the git branch, commit message, and hash that created it, date of creation as well as any tags
- Individual metadata for any image can also be viewed.
10. SaaS, On-Prem, and Hydrid Installation Methods
- Run Pipelines in the cloud
- Run Pipelines on your infrastructure
Kubernetes has essentially become the de facto standard for container orchestration services and is seeing rapid growth in adoption.
CodeFresh surely is an excellent tool to choose when deploying your cloud-native applications to Kubernetes with its native support for Kubernetes, Helm, and Docker. CodeFresh key features promise that it can help developers to automate their application deployments to Kubernetes and thus build fast and deploy faster than before.