Semaphore is a product of scratching our own itch. Rendered Text as a team of five people usually works on a few projects at a time. Although most of our projects are long term relationships, we take smaller projects that last two to three months. By bootstrapping applications over and over again we detected a pattern.
Initial spec is defined with client. Git repository is created and our template application is imported and pushed to GitHub. Staging app is created on Heroku. Both GitHub and Heroku are services that take burden off developers’ back and put a smile on their face. But same cannot be said when it comes to third step in the process of bootstrapping a new project and that’s the infamous continuous integration server.
Setting up and maintaining a CI server with Jenkins or any other CI software is a pain and takes time, easily a day, even if you are developer with devops experience under your belt. Let me mention just a few things that you will have to worry about during CI server setup: SSH keys, hooks, iptables, SSL and user management. Even if you haven’t gone through the process of setting up CI you can imagine that it’s a tiresome process that you as a developer shouldn’t have to worry about. You should focus on your application!
Looking from a perspective of a person who is running a small consulting agency, you know that every day counts and you don’t want to lose a day so easily on a project that already has a limited budget. And from a perspective of a developer, you know how much you love GitHub and Heroku for taking care of their part of the job and you just cannot be looking forward to setting up and maintaining CI server.
With Semaphore we addressed all of these issues and made the process of setting up continuous integration super easy. You just have to create a Semaphore account, authorize it with GitHub, select a project that you want to build and you are done! Checkout a short screencast that we prepared and sign up to see it for yourself.