Times+ Deployment
by Paul Serby
1. What has changed?
1.1. Site
1.1.1. Atrox
1.1.1.1. Now in site
1.1.1.2. New node
1.2. Structure
1.2.1. Moving dynamic files out of project folder
1.2.1.1. Data/Binary
1.2.1.1.1. To /var/data/application/NewsInternational/TimesPlus/Binary/
1.2.1.2. Data/Cache
1.2.1.2.1. To /var/data/application/NewsInternational/TimesPlus/Cahce/
1.2.1.3. Log
1.2.1.3.1. To /var/log/application/NewsInternational/TimesPlus/Log
1.2.2. Apache Config
1.2.2.1. No prepend. There is vhost
1.2.2.2. New node
1.3. New Deployment Method
1.3.1. Incremental backup
1.3.2. deployProduction
1.3.3. All
2. Still needs doing
2.1. Database brought inline
2.2. Atrox shouldn't be an external
2.3. Move to new branching model
2.4. Newsletters need moving out of site folder
2.5. Problem with % in URLs going though SSO
3. Action Plan
3.1. Iain: Install ionice
3.2. Dom: Rsync data to need new location
3.3. Iain: Clear /etc/apache/sites-enabled
3.4. Iain: Workout holding page apache
3.5. Run unit tests
3.5.1. Paul: IAM
3.5.2. Hannah Selenium
3.6. 2pm
3.7. Iain: Put up holding page allowing Clock to still have access referencing non-live location
3.8. Iain: Ensure others can't see site
3.9. Dom: Rsync data to need new location
3.10. Move the current TimesPlus TImesPlus.bak
3.11. phing deployProduction
3.12. Check folder exisits
3.13. phing setup
3.14. Check startup.php
3.15. Check vhost.conf
3.16. Compare vhost.conf with current live vhost.conf
3.17. Symlink vhost.conf to /etc/apache2/sites-enabled/www.mytimesplus.co.uk.conf
3.18. Removing old symlink
3.19. rsync TimesPlus.bak/Sites/newsletter/ back
3.20. Paul: Run IAM unit test
3.21. Manually change vhost to include non-clock holding page
3.22. Restart apache
3.23. Iain: Ensure others can't see site
3.24. Hannah: Run automated testing
3.25. All: Smoke tests
3.26. Smoke test mobile site
3.27. Manually remove holding page
3.28. Restart apache
3.29. Ensure all can view site
3.30. Paul: Notify NI of deployment
3.31. Cron jobs need checking
3.32. Iain: Update backup to include new locations
4. Checklist
4.1. Ensure no malformed characters in Startup.php
4.2. Cronjobs?
5. Post Deployment Checking
5.1. Newsletter
5.2. DVS Import
5.3. BS Import
5.4. IAM Import
5.5. Welcome Pack Feed
5.6. Edialog
5.7. STT Export
5.8. Error Log Check
5.9. Apache Error Log Check
5.10. Munin
6. Post Deployment
6.1. Merge 3.1 to trunk
6.2. Change to new branching model
6.3. Developers switch branch to Develop
7. Problems
7.1. Postgres not postgresql
7.2. Missing lines from startup.php
7.3. Unit test paths not correct
7.4. Ngnix Static Content
7.5. Nginx not server customer error pages
7.6. Incorrect log paths