As developers know all too well, traditional dev pipelines were not designed to play nicely with containers and cloud services. Since this architecture pre-exists terrific new technologies like containerization and distributed application platforms, this is both understandable and problematic.
Enter Codefresh, maker of Docker-native continuous integration/continuous delivery (CI/CD) platforms and services. With a platform built ground-up to work specifically with Docker and cloud services, all running natively on Kubernetes, Codefresh users can simplify their entire pipeline and build, test and employ web apps with speed and ease.
Starting now, Codefresh also adds a full, private, built-in registry to the menu, meaning that all users can add unlimited public and/or private repos to Codefresh’s registry, with no networking or storage fees and no cap on collaborators. Of course, developers can still connect all external registries they like — but now, here’s one baked right in.
“We’re very excited to bring a full registry to our users at no additional cost,” said Raziel Tabib, Codefresh co-founder and CEO. “By combining our Docker Registry with Codefresh’s CI/CD and on-demand staging environments developers have a complete toolchain for delivering containers.”
The free full-spec registry — powered by Google’s Container Registry — sets Codefresh apart from similar CI/CD services. Having a built-in registry available potentially removes a step from the development cycle, speeding up building and testing. Post-deployment, it makes pulling down and debugging broken images that much easier, too.
Codefresh’s new embedded registry is not intended to replace production registries. Instead, it provides a developer-focused playground for testing and development. The embedded registry maintains the images needed for development, while the production registry then becomes the “single source of truth for production-grade images.”
This approach has a couple of other big advantages, said Tabib:
- Image quality control is higher since it’s built right into the test flow.
- Build-assist images (for example, those used with Java and other compiled languages) stay nicely organized in the dev space.
- Codefresh extends the images with valuable metadata (e.g., test results, commit info, build SHA, logs, issue id, etc.), creating a sandbox-like registry for developers.
- Build speed is faster since the embedded registry is “closer” to the build machines.
Furthermore, the embedded registry allows developers to call images by tag and extended metadata from the build flow. For example, if you want to test a service based on how it works with different versions of another service, you can reference images based on their git commit ID (build SHA).
“In talking with our users, they’re most excited about being able to spin up environments on demand for any image or set of images in the registry,” said Tabib. “Launching images in their application context without provisioning is huge.”
The Codefresh production environment is managed with the Kubernetes container orchestrator running on the Google Container Engine. The company has added Kubernetes deployment images, available both in the UI and Codefresh YAML, to make pushing new images a simple matter of passing credentials. Automated deployments made easy, and —when paired with branch permissions — anyone authorized can approve and push code to production. Voila! One-click deploys to Google’s Container Engine, powered by Kubernetes.
“As a Docker native, CI/CD Codefresh has a deep understanding of Docker user needs. Teams that use Codefresh have sped up their building, testing, and deploying significantly thanks to our ability to cache layers, all wrapped in a simple to use UI,” Tabib said.
Signing up for Codefresh’s free introductory plan requires no more than a GitHub account and provides one hosted staging environment, five concurrent builds and unlimited users and repositories, though builds are limited to 200 per month. Codefresh Pro offers both discounted annual and monthly pay-as-you-go plans, starting at $249 per month and rising depending on a number of hosted staging environments and concurrent builds your project requires.
In addition, the Pro plan also offers an embedded registry, port mapping, static IP and support that includes a dedicated Slack channel.
Feature image by Andre Benz via Unsplash.