Replacing Heroku Review Apps on Non-GitHub Projects

If your software team develops multiple new features simultaneously, you need to be able to deploy and test them in isolation. The gold standard for this is to use Heroku’s review apps, which are temporary environments automatically spun up for each pull request. Unfortunately, the feature only works with GitHub; if you’re using another source […]

Designing a Scalable Deployment Pipeline

Anyone who’s led a product engineering team knows that a growing team requires investments in process, communication approaches, and documentation. These investments help new people get up to speed, become productive quickly, stay informed about what the rest of the team is doing, and codify tribal knowledge so it doesn’t leave with people. One thing […]

Why Vagrant? – Preventing Deployment Issues from Day One with a Virtual Machine

One of the traditional problems in software development is the delivery of a finished project. Atomic Object writes custom software, but we ultimately need to deliver it to our customers, which usually implies deploying it to an existing infrastructure environment, or handing it off to an operations team. Unfortunately, this hand-off process often introduces a […]

Easier Capistrano Deploys from GitHub with ssh-agent

One great option for Capistrano deploys out of git is to use an ssh-agent. The agent will forward your own SSH keys from your development machine and make them available during deploys without ever needing to pollute your production servers with your keys. GitHub has a great getting-started document here. While it’s a great idea, […]

Deploying from Git with Capistrano

Justin and I provide operational support to the SME Toolkit project, an education portal for small to medium sized enterprises in developing countries sponsored by the IFC (which is the private sector development branch of the World Bank Group). Recently, the source code for the Rails-based web application was migrated from Subversion to Git. This […]

You’re Ready to Deploy – You Must Be Done, Right?

You’ve built your application. It does everything the customer asked for and everything he needs. Your designer’s polish has impressed everyone and your tool is a dream to use. Your comprehensive system test suite runs clean. Your exploratory tester can’t find any bugs you’ve missed. And you’ve got it deployed and running on its final […]