CI/CD your way: 11 on-prem options for continuous integration and delivery

From Jenkins and GitLab to Azure DevOps Server, these tools bring a CI/CD pipeline to your own server, Kubernetes cluster, or hybrid cloud

When a team develops software together, the need for continuous integration (CI)—and often continuous delivery (CD) as well—is rarely debated. The central continuous integration server acts like a referee and a quality control manager by constantly building and rebuilding the software before testing and retesting it. The sooner the CI server finds problems, the sooner they can be fixed.

The real debate is whether to host the continuous integration process yourself or offload the work onto one of the many cloud-based CI/CD services that have blossomed. Letting someone else do the work is always attractive and the services can often be faster because they share a pool of powerful machines that can run the different tasks from the CI process in parallel.

But the downsides can be significant. If your team is especially worried about access to your code or data, keeping everything on a machine that’s in your locked server room brings a warm feeling. Yes, it means updating operating systems and applying patches yourself, but sometimes that’s better than crossing your fingers and trusting someone else will do it.

If your code base is big or you produce large containers full of binaries, moving these bits across the open Internet can be slow. Many of the cloud lovers tend to ignore the latency issues and costs of shipping big blocks of data. If you’re just pushing them to the server room down the hall, you can build out a fast network that will guarantee they’ll arrive quickly. Yes, this may mean fewer pauses in your day to get a cup of coffee, but it can improve delivery time immensely.

To continue reading this article register now