Skip to main content
All CollectionsCreate and Edit Tours
Deployment Plan Template
Deployment Plan Template
Clayton Rothschild avatar
Written by Clayton Rothschild
Updated over 2 years ago
0.) Prepare branch release-3.4. Create Prod build.1.) Snapshot prod server box.2.) Create new prod box with snapshot3.) Create copy of prod DB (cloudpano-STAGE)5.) Update new prod box env variables (    SQL_DB=cloudpano-STAGE    GOOGLE_STREET_VIEW_PUBLISH_CLIENT_ID    GOOGLE_STREET_VIEW_PUBLISH_CLIENT_SECRET    GOOGLE_API_KEY)    sudo nano /etc/environment    set -a     source /etc/environment    set +a     pm2 reload all --update-env6.) Add new prod box IP to Whitelist IP of the prod SQL Server (Azure)7.) edit hosts file such that staging.cloudpano.com points to new prod box.8.) git checkout release-3.4 on new prod box9.) Run knex migrate:latest  and knex seed:run --specific=add_gsv_general_feature.js on new prod box, with env variables pointed to cloudpano-STAGE database which mimics prod10.) Quick user integration tests on staging.cloudpano.com11.) Update new prod box env variables (    SQL_DB=cloudpano)12.) Run knex migrate:latest on new prod box, with env variables pointed to prod DB. **risk area: ensure pm2 in-memory env variables dont remain pointed at stage, even after pm2 restart.13.) Make one test tour and observe.14.) IP Swap. We are live.15.) Keep release-3.3.3. box running, in case we have to emergency swap back in next 24 hours.
Did this answer your question?