Using AppHarbor for Continuous Integration

I thought it would be interesting to use AppHarbor as a quick way to get some code with tests under a continuous integration environment. Along with this, if I could also use the AppHarbor deployed web site to serve that file, even better!


What: If you haven’t heard about AppHarbor yet, go check it out. They offer Git and Mercurial hosting that will also run unit tests (with various frameworks). You’re able to deploy different versions of your site with a single click and they have SQL Server support.

Why: It’s free and easy. It runs your tests. It lets you deploy any version of your code. It’s getting better each day.

Continuous Integration

What: Why should I describe it when others can do so much better:

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. This article is a quick overview of Continuous Integration summarizing the technique and its current usage. – Martin Fowler

Why: Deliver your most current build through a web site by typing “git push AppHarbor master”. It wont build your binary unless your tests pass. This means there’s no way to push a new downloadable version of your code unless all tests pass; it’s just nice and easy.

How to do this?

The code is super simple, you can download the assembly to do this from the application that actually does it. Visit

Some Questions and Thoughts

I don’t know if this is useful or not, but I wanted to try it. Let me know what I’m missing or doing wrong. Let me know if there’s something to do better. The thought popped in my head the other day, and now that I have a proof of concept, I thought I should share.

About Chris Missal

Oh hey, I'm a Senior Consultant for Headspring in Austin, TX. I've been working in software professionally since 2006 and I really, really love it. I'm mostly in the Microsoft world, but enjoy building computer things of all sorts (to be vague). When I'm not slinging code, I'm probably out and about slinging discs, bowling balls, or good beer with great friends.
This entry was posted in AppHarbor, Continuous Integration, Deployment, git. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Darage

    Of course it’s a very good idea and I don’t see why it won’t work. I think this can count as continuous delivery which a step further of continuous integration.

  • I just added a link to this post from the Continuous Integration page that I moderate over at Thanks for the article!

  • As when i read your article, I found your blog really interesting. You have done really a good job..

  • Great Interesting.. worth the time to read! Thanks to sharing

  • very interesting. thanks info.