At the Open Source Leadership Summit (OSLS), the Linux Foundation introduced, with a host of partners, the Continuous Delivery Foundation (CDF). Its goal? The not-so-modest one of bringing sense to continuous integration and continuous delivery (CI/CD).
Also: DevOps: A cheat sheet TechRepublic
Everyone who's invested in DevOps, loves CI/CD. CI gives you a consistent and automated way to build, package, and test applications. CD then picks up the ball by automating the delivery of applications. What's not to love?
As Christy Wilson. a Google software engineer, explained in a OSLS keynote:
Everybody needs CI/CD. Before you can try to apply fancy modern development practices like chaos engineering, or progressive delivery, the idea of start with CI/CD. If you want your projects to scale, if you want to sustain growth, if you want to grow your open-source, contributor base, you have to know CI/CD. Regardless of the size of your company, whether you have thousands of engineers; when you're a startup; whether you're working on greenfield or you're maintaining legacy software, you have to have a CI/CD.
That's all well and good, but it leaves the questions: "Which CI/CD?" As one executive at OSLS put it, "I can't keep up with them and I do this for a living!"
Currently, the CI/CD tool ecosystem is extremely fragmented. This leaves CI/CD developers needing guidance on best practices and how to secure their software supply chains. That's where CDF comes in. Or, as Kohsuke Kawaguchi, Jenkins CI/CD project founder and CloudBees' CTO, put it, "CDF will remove barriers between CI/CD projects."
CDF will provide a vendor-neutral home of many of the CI/CD projects. This includes Jenkins, an open source CI/CD system; Jenkins X, an open source CI/CD solution on Kubernetes; Spinnaker, an open-source multi-cloud CD solution; and Tekton, an Kubernetes CI/CD pipeline. Additional projects will join CDF shortly. By bringing together CI/CD programs to build portability and interoperability specifications and projects, the goal is to create an open, portable CI/CD pipeline.
Core to this is Google's contribution: Tekton. Tekton is a set of shared, open-source components for building CI/CD systems. It provides a flexible, extensible workflow that accommodates deployment to Kubernetes, VMs, bare metal, or mobile,
According to Google, "Today, Tekton includes primitives for pipeline definition, source code access, artifact management, and test execution. The project roadmap includes adding support for results and event triggering in the coming months. We also plan to work with CI/CD vendors to build out an ecosystem of components that will allow you to use Tekton with existing tools like Jenkins X, Knative, and others."
As Wilson explained, eventually "an engineer can go to a project, take the entire CI/CD pipeline, and run it against their own infrastructure. Or, they can take pieces and run them in isolation and reuse them. And, the more vendors support tech time pipelines, the more choices users will have. Eventually, they'll be able to take features from multiple vendors and put them together with one pipeline."
What do you think is this the future of CI/CD? Let us know in the comments.