Thursday, October 6, 2016

New Build and Deploy Automation

Our software build and deployment process was taking too long to execute (about 90 minutes to QA). Even though this process was scripted, it took a fair amount of manual intervention, and prevented us from deploying our software to QA as often as we wished. We took a pause from our regular sprint schedule, and dedicated a week to improve this process. After we diagrammed our existing workflow, and identified the "low hanging fruit", we determined that we first needed to look at at a build server or service. We were hoping to fully automate this solution, and bring our deployment process under 30 minutes (ideally with little to no human interaction).

As a .net environment, and a user of Bitbucket (using Mercurial), we intended to take a look at both Atlassian's Bamboo, and TFS build and deploy services using visualstudio.com. After quickly doing a little research on build services, I found this article by Scott Hanselman. Though this post was nearly two years old, we thought Appveyor was worth a look, while continuing to research competitive solutions. We soon realized that our existing Powershell scripts could be used with little modifications, AND this service didn't require us to support a server (I love PaaS). Compared to other solutions, we felt that Appveyor met all our needs, was very quick to implement, and at $60/month - seemed like a great fit.

You can probably imagine how this story ends - we really like the Appveyor solution. Upon a source control commit (from Bitbucket), a build and deploy is automatically triggered, and this unattended process takes approx 10-20 minutes - exceeding our 30 minute deploy goal, and with it being entirely automatic - exceeded our expectations by requiring virtually no man-hours.

Kudos to you Appveyor for making this a pretty easy transition with enormous benefits
(No, I'm not a product spokesperson)

No comments:

Post a Comment