Version 65 (modified by 14 years ago) ( diff ) | ,
---|
Table of Contents
Pakistan Deployment Cycle
Process
We do daily upgrades of the systems from a single Fabric script:
- Upgrade Live with code release from UAT
- Refresh the UAT database with data from Live
- Upgrade UAT to Trunk code
- Send a notification to the List with a summary of the changes on both Test & Live
Instructions
Login to eden.sahanafoundation.org
1st time:
cd /home/release fab generate_keys fab test distribute_keys fab prod distribute_keys
Subsequently:
cd /home/release fab prod deploy fab test deploy
Make a note of any upgrade issues with the migration on Test so that they can be streamlined in tomorrow's migration on Live
Sysadmin ToDo
- Current Fabfile: http://eden.sahanafoundation.org/browser/static/scripts/tools/fabfile.py
- Current Aliases: ConfigurationGuidelines#Usefulaliases
1. Upgrade Live with code release from UAT
- Extend maintenance_on() / maintenance_off()
- Support Cron
- Extend the cleanup()
- Deal with .moved files
- Only apply customisations to files which had conflicts
- Do optimise()
- Add indexes
2. Refresh the UAT database with data from Live
- Include 'uploads' folder
- Need to add generic role accounts in a script after the DB replaced
3. Upgrade UAT to Trunk code
- as per (1)
4. Send a notification to the List with a summary of the changes on both Test & Live
Notifications can be built with info from the Trac Timeline
- Investigate a custom Trac script to build the report automatically, e.g. building on these:
General
Set deployment_settings on UAT to the same as Prod- Add rollback() by reading VERSION before
bzr pull
, so then canbzr revert -r $version
Add update() for debian packages: SSH into each &apt-get update; apt-get upgrade
- Enhance Apache Maintenance site
- allowing access to site through a browser - but using a different name (which we don't publish)
/etc/apache2/sites-available/maintenance
- improving the text on the maintenance page:
/var/www/maintenance.html
- allowing access to site through a browser - but using a different name (which we don't publish)
- dev.pakistan.sahanafoundation.org instance needs adding to the Fabfile
- This shouldn't be fully-automated into the upgrades cycle, but does have a script to refresh data from live manually
- dev. will be postgres!
Live
- Schedule the Ushahidi imports:
- http://pakistan.sahanafoundation.org/eden/irs/ireport/ushahidi
- http://pakreport.org/ushahidi/api?task=incidents&by=all&resp=xml&limit=1000 (how to avoid this?)
- Can we pass URL as argument?
- Upgrade Geraldo to 0.4.0 (currently 0.3.9)
- Upgrade ReportLab from the debian-packaged 'python-reportlab 2.1dfsg-2' to current 2.4
- Get MapProxy working (basic install on 'geo' done)
Demo
- Update Demo (whilst keeping the logins there intact - all other data can be dropped)
Trac
- Upgrade to 0.12.1
- Check Plugin Dependencies
- Convert from sqlite to PostgreSQL (or MySQL) to improve performance
- Add Timing & Estmation Plugin
- Investigate a fix or alternative to http://trac-hacks.org/wiki/MathCaptchaPlugin for allowing Trac users to register bugs anonymously whilst not locking out our testing team.
- See if we can not send emails out to users for the updates they make themselves (maybe fixed in 0.12.x?)
- Investigate a fix for the last section edit doubling-up the footers (maybe fixed in 0.12.x?)
Release Process
- DeveloperGuidelinesReleaseProcess
- Bzr start-commit hook to check for existence of 'compiled' folder
Translation Process
- Bzr start-commit hook to update all languages (need a script rather than the current appadmin UI method)
cd web2py python web2py.py -S eden -R applications/eden/static/scripts/tools/languages.py
- Scripts to automate the conversion 2 PO & upload/download to/from Pootle: UserGuidelinesLocalisation
Note:
See TracWiki
for help on using the wiki.