How Version-Controllable or Auto-Deployable is Your Software?

By Deane Barker on May 20, 2009

Just a quick rant here to say that companies need to be cognizant of source control and integration services when they design their software.

When they ship their software — especially server-based software that serves a dev platform for something else — they need to ask themselves, is our software easy to version control? Is it easy to automatically deploy?

Take a CMS that ships with a bunch of files that go in the Web root of the Web site. How easy it is to exclude the vendors files (that you don’t want to version) from your own (which you do)? Are they all in one directory, or are they spread all over the friggin’ place?

Vendors, before you ship, build a Web site with your own stuff, put it in SVN, then automatically deploy with via CruiseControl or Nant? How hard is it? That’s an important question to ask.

I have been wrestling for most of the day with a Web site built on Platform X. The files provided by the vendor are all over the place. The “fileset” elements in my Nant scripts have dozens of includes and excludes as I dodge and weave around the vendors files to deploy what needs to be deployed and what doesn’t.

So, why don’t I just shove the whole thing in SVN? Because the way the vendor has written their software, they have over 11,000 files in the Web root. Do you have any idea how long that takes to check for modifications? So you pretty much have to ignore that section, and then make sure you don’t touch anything else in case you out of version sync when you deploy.

Wicked frustrated right now…

What Links Here


  1. This was one of the motivations is making WordPress usable from a sub-directory instead of installed directory in the web root. You can easily keep all of your custom bits (themes, plugins, uploads, etc.) outside of the WP directory and the WP directory itself can be an SVN external. This makes upgrading WP as simple as a ‘svn up’.

Comments are closed. If you have something you really want to say, email and we‘ll get it added for you.