In my last post, I expressed some of the barriers to having a fully-automated deployment process from one Salesforce org to another. I’m not the only one who has frustrations with the existing process; there are many others. Some of these ‘others’ also happen to be avid software developers, as is evident by this new software tool created by Red Hat, and recently open sourced at Dreamforce 2011. It’s called StratoSource, and its raison d’être is to ease the manual labor of release managers and mistakes with deployments for the Force.com platform. While it is not the easiest tool to set up, it provides some very useful facilities to a release manager, and may be worth the time investment to get it set up. Check out +Tiaan Kruger and +Marshall Smith’s introduction to the tool at their Dreamforce 2011 talk on StratoSource.
What is StratoSource?
Well, it was created to help Salesforce release managers decide what files to deploy. It is not uncommon that a developer will forget to include a necessary file in a deployment, which causes confusion and panic after those files are deployed.
What Does It Do?
You can read their sales pitch on their GitHub wiki, but I’ll sum it up for you here. StratoSource is an OS application that pulls all metadata down from a Salesforce org and stores the snapshot in a repository. After a few dozen snapshots have been stored in the database over the course of a development sprint, the release manager can use StratoSource to see what files changed since the start of the sprint. StratoSource lists this files in a nice GUI, and even allows developers to tag them with a user story, if they happen to be using an agile development process. With this in place, a release manager must only navigate to the web interface of StratoSource to get a list of what is ready to deploy, reducing the chances of a developer forgetting to tell the release manager about a small change to a workflow or field they made.
My Installation Experience
This tool was first mentioned to me in the #salesforce IRC channel shortly after Dreamforce week, and I excitedly dug in with a little free time I had. It was developed on Fedora, so I had to download a Fedora ISO and install the OS locally on a virtual machine using VirtualBox. I followed the installation instructions by downloading the program, poking holes in the firewall, initializing the SQL database and Git database, and finagling the web server to work properly.
Yes, the steps that are required to get this application running are quite involved, and it requires at least five hours of time to install software and set up databases, web servers, and credentials. But I remain optimistic that once the initial work is done to set it up, having this tool to assist in deployments will be worth the trouble. Also, after speaking with the creators of StratoSource, they assure me that the installation process and user interface has already been improved since they presented it at Dreamforce. They also mentioned that the tool will take leverage new features in the latest Winter ‘11 release of Salesforce to track who modified which files. Very useful!
I wonder if anyone else has experience with this deployment tool, or any others. If you have, please share in the comments below, or find my on Twitter or Google+ (links in the sidebar).