| Version 9 (modified by , 9 years ago) ( diff ) |
|---|
Deployment
Short description of the deployment of :
- Small updates of the website operational branch
- Major upgrades of the operational website
- Deployment of the ROPP package
The deployment is handled by a python script executed in the fabric framework. Install the fabric framework using
sudo apt-get install fabric
To list all commands supported by the fabric deployment script use the following command:
root@graswww2:/tmp# fab -f /usr/local/bin/deploy_romsaf_web.py -l
Available commands:
backup_gbgp backup existing gbgp files
backup_ropp backup existing ropp files
clean_local_changes Clean local changes on operational webser...
deploy_gbgp Deploy a new gbgp release
deploy_ropp Deploy a new ropp release
deploy_website Deploy new website version from tag
prepare_gbgp Tar GBGP distribution and database tables...
prepare_ropp Tar ROPP distribution and database tables...
restore_gbgp Restore from previous gbgp backup files
restore_ropp Restore from previous ropp backup files
status Show subversion state on operational serv...
update_preop_website Update pre-operational website
update_preop_website_rollback Rollback update of the pre-operational we...
update_website Update operational website
update_website_dry_run Dry-run of update on operational website
update_website_rollback Rollback update of the operational websit...
To specify the target host use the -H option. Valid hosts are graswww and graswww2 . E.g. to update website on graswww use:
fab -H graswww -f /usr/local/bin/deploy_romsaf_web.py update_website
As a general rule changes should be deployed and checked on the secondary webserver graswww2 before deployment on the primary webserver graswww.
The source code to the script is available here : browser:/sys_scripts/trunk/deploy_romsaf_web.py
Website Updates, Minor Changes
Use the following procedure to upload small changes to the operational website:
- examine current status of the website
- make a dry-run to see how the changes will uploaded
- if everything looks ok, make the actual upload
The above procedure should be run first on the secondary webserver web2 and second on the primary webserver web1.
To examine the current status run::
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py status
To make a dry-run use:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py update_website_dry_run
To install updates run:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py update_website
If necessary revert the changes using:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py update_website_rollback
ROPP deployment
ROPP can be deployed using the following command:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py deploy_ropp
The command will call prepare_ropp and backup_ropp and install the new ROPP version.
In case of errors use:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py restore_ropp
To rollback the changes
GBGP deployment
GBGP can be deployed using the following command:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py deploy_gbgp
The command will call prepare_gbgp and backup_gbgp and install the new GBGP version.
In case of errors use:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py restore_gbgp
To rollback the changes
Website Deployment, Major Change
For major website releases e.g. version changes from 3.0 to 3.1. First the version needs to be tagged and the file https://svn.grassaf.org/garf/branches/operational/externals.txt needs to be updated with the tagged name and checked in.
Then run:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py deploy_website
Update Preop Website from SVN changes
To apply updates to pre-operational page from SVN changes run (in web2):
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py update_preop_website
If necessary revert the changes using:
fab -H web2 -f /usr/local/bin/deploy_romsaf_web.py update_preop_website_rollback
