DevOps Zone is brought to you in partnership with:

I'm a writer, programmer, web developer, and entrepreneur. Preona is my current startup that began its life as the team developing Twitulater. Our goal is to create a set of applications for the emerging Synaptic Web, which would rank real-time information streams in near real time, all along reading its user behaviour and understanding how to intelligently react to it. Swizec is a DZone MVB and is not an employee of DZone and has posted 66 posts at DZone. You can read more from them at their website. View Full User Profile

CircleCI – Sexy Continuous Integration for Private Repos

07.06.2013
| 4378 views |
  • submit to reddit

One of the best parts of spinning up a new programming team is setting the processes up from scratch. That means fixing your past failures and, more importantly, playing with the shiny new toys.

CircleCI dashboard

CircleCI dashboard

The first thing we fixed at Dwellers, was setting up a continuous integration service on the very first day. I’ve never worked with an environment that makes sure all my tests are passing and pushes things into staging before. I tried a few years ago, but it was a pain to set up and never worked.

It sucks.

Sure I run tests all the time, and have no problem deploying to a server – especially Heroku where you just do a git push heroku. But it’s tedious and the less things you have to think about, the more brain cycles are free to solve actual problems.

Initially I suggested using TravisCI but they still don’t support private repositories. Luckily we found CircleCI. It focuses exclusively on private Github repositories. Perfect.

The more I look, the more I’m impressed by everything CircleCI does. It made pushing code even more fun.

When you push to your branch it runs tests on that branch alone and tells you how you did. There’s also a history of the past few pushes in the dashboard so you can see what your track record’s like.

Click on a specific push, will show you the run steps in real time. It’s really fun to watch. But I should get over the novelty and stop yak shaving all the time.

A CircleCI test run

A CircleCI test run

If all the tests pass and you pushed to master, the code is automatically deployed to staging so the business guys can have fun clicking around. And seeing your code live, even just on a server nobody outside the office will see, only a few minutes after pushing to Github, is super rewarding.

CircleCI can also notify you about the tests in a number of ways like sending you an email or being chatty on HipChat/IRC … but that’s not very interesting.

My favourite feature is that Github seems to support CircleCI. Somehow. I haven’t installed any plugins or anything, just connected my Github account to CircleCI, which is how you login and get access to any project you have access to on Github, and something new appeared.

Test badges in branch list

Test badges in branch list

Those little icons in the branches list. That’s new. I don’t know how it got there, but it’s dynamically updated with the status of every particular branch from CircleCI.

If you’re still waiting for TravisCI to support private repos, give CircleCI a shot. It’s really awesome.

Published at DZone with permission of Swizec Teller, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)