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 bitch 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.

Enhanced by Zemanta

Learned something new? Want to become a better engineer? πŸ’Œ

Join 9,400+ people just like you already improving their skills.

Here's how it works πŸ‘‡

Leave your email and I'll send you an Interactive Modern JavaScript Cheatsheet πŸ“– right away. After that you'll get a thoughtfully written email every week aboutΒ React, JavaScript,Β  andΒ lessons learned in my 20 years of writing code for companies ranging from tiny startups to Fortune5 behemoths.

Man, I love your way of writing these newsletters. Often very relatable and funny perspectives about the mundane struggles of a dev. Lightens up my day. ~ Kostas

PS: You should also follow me on twitter πŸ‘‰ here.
It's where I go to shoot the shit about programming.