Version 2 (modified by 15 years ago) ( diff ) | ,
---|
Release Management
We have 3 running instances:
- Production: http://haiti.sahanafoundation.org
- Dev/UAT: http://haiti-orgsdev.sahanafoundation.org
UAT: http://haiti-test.sahanafoundation.orgToDoDevelopment: http://haiti-dev.sahanafoundation.orgToDo
We have several Code branches:
- Haiti Portal: https://launchpad.net/sahana/haiti-quake-2010
- Haiti Offline: tbc
- Trunk: https://launchpad.net/sahana/sahanapy
- OR: https://code.launchpad.net/~michael-howden/sahana/haiti-quake-2010 to change to being trunk-derived?
- RMS: https://code.launchpad.net/~uwthw/sahana/rms
- VITA: https://code.launchpad.net/~nursix.org/sahana/vita
Release Process
Overall responsible Person: Fran
- Where generic, new code is merged 1st into Trunk by Fran
- Code is then merged into the Haiti branch by Fran
- RMS is currently Haiti-specific so is merged directly to Haiti branch
- Code is pulled from the Haiti branch to Dev by lifeeth
- Data is 1st synced from Prod
- A 1st draft of a data migration plan is made
- Code is pulled from the Haiti branch to UAT by lifeeth
- Testers to be informed before this via the group: tbc
- Data is 1st synced from Prod
- A more detailed data migration plan is made
- Code is pulled from the Haiti branch to Prod by Fran
- Sign-off for this to come from the group: tbc
- A careful data migration plan is made
- Backup
- Disable system crontab
vim /etc/crontab
- Website put into Maintenance Mode
cd /home/haiti ; ./maintenance.on
cd /home/haiti/web2py ; python web2py.py -S prod -M -N
db.export_to_csv_file(open('db.csv','wb')) Ctrl+D
- Disable system crontab
- DataMigration
models/00_db.py
migrate = True
cd /home/haiti/web2py ; python web2py.py -S prod -M -N
Ctrl+D
- Restore Service
- Re-enable Website
cd /home/haiti ; ./maintenance.off
- Re-enable system crontab
vim /etc/crontab
- Re-enable Website
Technical Details
Production
- haiti.sahanapy.org VM: 212.23.5.4
- /home/haiti/web2py/applications/prod
- /etc/apache2/sites-enabled/prod
- Sqlite
- Web2Py r1544
- Sahana Haiti r547
- Customisations:
- models/00_db.py
- migrate = False
- models/00_settings.py
- auth.settings.registration_requires_verification = True
- auth.settings.registration_requires_approval = True
- models/00_db.py
UAT
- logistics.sahanapy.org VM: 212.23.5.5
- /home/haiti-test/web2py/applications/test
- /etc/apache2/sites-enabled/haiti-test
- MySQL hopefully
- Web2Py r1544
- Sahana Haiti r547
- Customisations:
- models/00_db.py
- migrate = False
- db = DAL('mysql://haititest:password@localhost/haititest', pool_size=10)
- models/00_settings.py
- S3_PUBLIC_URL = 'http://haiti-test.sahanafoundation.org'
- auth.settings.registration_requires_verification = True
- auth.settings.registration_requires_approval = True
- models/00_db.py
Dev
- logistics.sahanapy.org VM: 212.23.5.5
- /home/haiti-dev/web2py/applications/dev
- /etc/apache2/sites-enabled/haiti-dev
- [MySQL] hopefully
- Web2Py r1544
- Sahana Haiti r547
- Customisations:
- models/00_db.py
- db = DAL('mysql://haitidev:password@localhost/haitidev', pool_size=10)
- models/00_settings.py
- S3_PUBLIC_URL = 'http://haiti-dev.sahanafoundation.org'
- auth.settings.registration_requires_verification = True
- auth.settings.registration_requires_approval = True
- models/00_db.py
Note:
See TracWiki
for help on using the wiki.