CI/CD as a service: 10 tools for continuous integration and delivery in the cloud

From Bitbucket and GitLab to AWS CodePipeline and Travis CI, look to these 10 cloud services to automate your software builds, tests, and deployments

1 2 Page 2
Page 2 of 2


Configuring your list of tasks is often the biggest challenge when using a continuous integration tool. CodeShip takes two different approaches to this in two levels of service. The “Basic” plan includes plenty of automation and pre-configuration along with a graphical user interface for setting up a rough outline of the tasks. Everything else is pretty much done for you. The “Pro” version lets you reach under the hood and monkey around with the configuration and the Docker containers used to define the build environments. You can choose how many build machines will be dedicated to your tasks as well as how well-provisioned they might be.

In some ways, this is the opposite of how the world usually works. You pay more and you get to do more work. The so-called Basic user gets everything automated. It doesn’t seem fair, until you want to do something that’s not exactly standard and then you’ll find the need to upgrade from Basic to Pro.

The Basic plan offers a free tier with one build machine, unlimited projects and people, but only 100 builds a month. So if you have more than 100 projects, you’re going to need to pay if you want to compile them all in a month. Once you start paying, there’s no cap on the number of builds or how many minutes they take. You just choose how many build machines and test machines will handle your tasks. The Pro plan also starts with a free option, but once you start paying your bill is determined by the size and number of cloud instances dedicated to your work.

Sauce Labs

Most of the tools listed here specialize in orchestrating the flow of the code from repository to deployment. Sauce Labs focuses on the testing. The cloud-based service offers an insanely wide variety of combinations for you to make sure everything is working. Do you want to test on Firefox 58 running on Windows 10? What about Firefox 56 on MacOS? They’re ready for you. The combinatorics quickly generate a huge variety of platform options for the most obsessive of testers.

The testing scripts can be written in your language of choice—as long as you choose one of the standards like Java, Node, Ruby, or PHP. The cloud of processors will target each in parallel. Sauce Labs also specializes in integrating the tests with other CI tools or pipelines. So you could run Jenkins locally and then delegate the testing to Sauce Labs.

Pricing starts off with a low rate for “live” testing—i.e., tests that you kick off and evaluate yourself. You’ll pay more for automated tests, measured in minutes and number of parallel paths. Sauce Labs also has an option to test your software on any of the hundreds of real devices in the company’s cloud.

Jenkins and Hudson

Sometimes you just want to do it yourself. One of the simplest ways to start up a continuous integration pipeline in the cloud is to rent a server instance and fire up Jenkins or Hudson. In many cases, there’s already a pre-built image from one of the providers like Bitnami just waiting for you to push start.

Jenkins and Hudson started out as one and the same program for testing Java code for bugs long, long ago, but it split into two camps when a dispute arose between some of the developers and Oracle. The details aren’t so important but the split shows how open source licenses empower developers to make decisions about the code by limiting the control of the nominal owners.

And while Jenkins and Hudson may have started out as a tool for building Java projects they have long since outgrown that niche. Now teams use them to handle almost all languages and there are thousands of plugins to handle building, packaging, testing, and deployment. The code is open source so there’s no additional charge for using it. You just pay for the server—and your time configuring it.

Copyright © 2019 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2