Good Practises: Automatic Deployment

Deployment process has habit of getting more complicated over time. If this process is not automated, soon you have only one person in the company who knows how to deploy the project. And then you are married with the project (in sickness and in health).
"Deploy your application automatically from the start" - Venkat Subramaniam and Andy Hunt
Here's couple of technologies and techniques you should beware of including into your projects, cause they will make automatic deployment harder:
  • Independent console or windows applications
  • SQL Server Projects
  • External libraries which require some license that is only possible to install in one or two machines
  • External libraries which are different for 64bit and 32bit operating systems
  • DTS¬† packages
I have seen all of these mistakes been made and I also have made them. Just after spending two days deploying single project into production, I have started to understand the importance of automatic deployment. If you make deployment automatic from the beginning, it become visible to everyone why not to use technics that are hard to automatically deploy. It will also save you time in the long run.
Deployment process has habit of getting more complicated over time. If this process is not automated…