## -*- mode: org; -*- #+TITLE: Software Deployment Process #+LANGUAGE: en ** Production 1. Keep the delivered and accepted package in a save place, so you have access to it when you ever need to roll back to an older version or if you need to redeploy the package. 2. Install the package. 1. Unpack the ~tar.gz~ on the production server. 2. Install with the provided installation script such as ~make install~. 3. Setup some configuration files according to the ~README~ or the ~INSTALL~ file contained in the ~tar.gz~. If you use [[http://reductivelabs.com/trac/puppet][Puppet]] for deployment then do the following steps instead: 1. Integrate the installation in Puppet. 2. Integrate the configuration as described in the ~README~ or the ~INSTALL~ file in Puppet. 3. Deploy. 3. If the deployment fails or the application doesn't come up, the installation is rolled back, i.e. the package is removed with the uninstall script, and the old version is reinstalled. The faulty package is sent back to Development. 4. If the installation was successful the package is integrated in the error monitoring system.