I’ve been a happy user of Travis-ci for cloud CI/CD needs for a long time. It’s straightforward to use, reliable, and free for open source projects. That said, it’s always worth looking at alternatives right? Recently Drone.io started offering a free cloud based service so I gave it a spin.
The basics are very similar to Travis-ci. You add a YAML file to your project that describes you CI/CD pipeline. When you push your code, it signals the site to read your YAML file, fire up a clean environment, and perform your requests. At first glance, save the syntax details of the commands, you’d be hard pressed differentiate the two. But Drone.io requires a bit more nuts and bolts work right away.
- Drone.io’s cloud is brand spanking new, and the site had a bit of a craigslist UX feel to it still. Travis-ci has been at it a while and the site is more powerful and elegant.
- Drone.io, even in simple cases, demands you supply the docker image to create your environments with. Even to build a pure Java project I had to go over to docker hub and lookup a OpenJdk docker image to use. With Travis-ci I’ve always been able to use their basic built in images.
- The Drone.io shell commands where pretty finicky about pipelines and file redirects. Some of my CI/CD basic steps took some finesse to achieve.
- Drone.io’s git clone stripped off my my git tags(?!). I use git tags to differentiate snapshots from releases, performing some tasks, like deployments, only for release tags. I’m sure I could have figured out a solution, but honestly by then I’d lost interest.
Drone.io was consistently just a bit more effort on everything, it felt a bit faster, and was perhaps more versatile, but I just didn’t feel it was worth it.