1.2.1

Preamble

  • notify all stake holders before the release.
  • vcs path: branches/1.2.1
  • execute all steps in the SF ENVs first and test the application.
  • if tests pass, then execute steps on SD ENVs.
  • In the unlikely event that things go very badly, we switch over to the old application in SD.

Web into MAINT Mode

put the web servers into maintenance mode (SF WEB, SD WEB)

cd /var/www/html
sudo ./set_eas_mode.sh MAINT

Database Backup

Log onto the SF DB and back up the databases. The exact command line resides in the postgres user crontab.

sudo -u postgres -i
crontab -l
/home/dba/scripts/dbbackup.sh > /var/tmp/dbbackup.log

Automation

Deploy new code to automation server.
Pull from branches/1.2.1
One way to do this is to edit c:\apps\eas_automation_setup.bat.
We should one day paramterize this bat file (or move to python). 

> del c:\apps\eas_automation\automation
> del c:\apps\eas_automation\database
> copy c:\apps\eas_automation_setup.bat to c:\apps\eas_automation_setup_1.2.1.bat
> notepad c:\apps\eas_automation_setup_1.2.1.bat
> c:\apps\eas_automation_setup_1.2.1.bat c:\apps\eas_automation

then run the migration to 1.2.1...

python job.py --action EXECUTE --job migrate_to_1.2.1 --env SF_PROD

Deploy  App To Web (SF)

Log into SF PROD WEB and deploy the application as shown here. 

cd /var/www/html
sudo svn export http://eas.googlecode.com/svn/branches/1.2.1/web/bin/deploy_eas_init.sh ./deploy_eas_init.sh
sudo ./deploy_eas_init.sh branches/1.2.1 branches/1.2.1 rgaston

Test the application to make sure everything works.

Deploy to SD

If testing in SF passes, deploy the web app to SD PROD with steps parallel to SF PROD (WEB and GEO).

Make sure the SD web application works.

You will not be able to log into the web application in SD if DB replication is running.

Put SD PROD WEB server into STANDBY mode

cd /var/www/html
sudo ./set_eas_mode.sh STANDBY_SD

Release Notifications

  • remove 1.2.1 from road map
  • publish blog post
  • send email to stake holders using automation


    python job.py --action EXECUTE --job announce_new_release --env SF_PROD

Done!