The picture you see on the right is FWA like you have NEVER seen it before. It is clearly NOT as the developers, designers, or the owners of the site intended you or I to see it, but we are. This is the perfect example of why you should run multiple development and testing environments before deploying to a live server.
Not A Luxury
Working with separated code bases from development, to staging, and on to production are not luxuries, they are the bare minimum for any ‘product’ development life-cycle. Any company that values their weight in gold should practice the art of running multiple environments for development whether working on a single or multiple sites, apps or anything else.
With version control systems the process of managing multiple environments is super simple and even the most complex structures of trunk and branches can be easily navigated, kept up-to-date, bug-fixed, enhanced and deployed. Ensuring that you can develop, test and deploy code without having to worry about unnecessarily breaking things for other members of the team, or for clients reviewing the site, or application is critical. Using a single codebase for all cycles in the development process and review or production IS a disaster waiting to happen, and with a less than elaborate configuration file, you can easily hook a single code base into different setups dependent on hostname.
Automatic Builds – Development
Using SVN hosting services such as Beanstalk make it a lot easier to work with multiple environments by building, either automatically or manually, to a remote server, whilst compiling and deploying compiled SWFs or other code can easily be uploaded using ANT, or other tools.
Manual Builds – Staging & Production
On the flip side, staging and production environments need to be manual builds, but again, with Beanstalk an update is only a single click away. This is the key to stability and making site that site visitors have the best experience on the production codebase whilst QA testers or clients can use staging to make sure that everything works and looks as desired before rolling out to production.
Multiples = Best Practice
Three different environments might sound like over complication of a process, even for the most simple site, but version control is not to be sniffed at, and with some great offerings from sites such as Beanstalk, CVSdude and others with access to SVN, Git, Trac and more, the ability to integrate multiple environments into the development and deployment process is incredibly simple. There is literally no excuse. Use the chart at SVN hosting comparison to figure out what is best for you and your team.
Setting Up Multiple Builds
Here are a couple of different ways to get setup with your hosted space:
CPanel/WHM
To get setup in cpanel with multiple builds, I would either start by setting up 3 different domains, or use a single domain and create multiple sub-domains in the control panel. Any shared libs can either go in the root of the user home /home/<username> whilst the versioned code base should go in /home/<username>/public_html/staging/ etc.
Mosso – The Rackspace Cloud
Conversely with Mosso, you will have to set up each host as a new site, under a single client account. The root level is where you can put any shared libs, and then of course put your code into the <hostname>/web/ folder.
What Are You Waiting For?
So there you have it, plenty of reasons and no more excuses. Your next project, irrespective of size should be managed on this basis with version control providing the backbone for it.
Web-head & art collector, living in East London and huffing on the fumes of the planet since '78. Here are my thoughts.
No Comments so far ↓
There are no comments yet...Kick things off by filling out the form below.