Skip to content

Deploying and Releasing

Jonathan Stray edited this page Sep 20, 2017 · 2 revisions

We strongly recommend you use overview-local for new deployment. These instructions are for the core Overview team maintaining the production server at overviewdocs.com.

Deployment using legacy AWS process

All these recipes assume you've set these environment variables:

AWS_ACCESS_KEY=...
AWS_SECRET_ACCESS_KEY=...
AWS_KEYPAIR_NAME=...
AWS_DEFAULT_REGION=us-east-1
OVERVIEW_MANAGE_HOST=ubuntu@...

We also assume you've set up overview-manage.

After each push to the repo Jenkins does a build and test. You can see the current build status here. The rest of these instructions assumes Jenkins has published a build -- meaning there are no errors.

Deploy on production (AWS)

git tag deploy-2015-12-10.01
git push origin deploy-2015-12-10.01
overview-manage deploy [email protected] production

Test on staging first (on AWS)

aws-overview-tools/script/launch-conglomerate.sh staging
# Grab a coffee. When the script ends, https://staging.overviewdocs.com will respond
overview-manage deploy overview-server@master staging
# Grab another coffee.
# Test. You'll be really fast at this because of all that coffee.
git tag deploy-2015-12-10.01
git push origin deploy-2015-12-10.01
# deploy will be really fast -- it's already built
overview-manage deploy [email protected] staging
# Test just to be absolutely sure....
aws-overview-tools/script/staging-stop.sh

Release new Docker images

Docker Hub can only release images we've built with Jenkins. You'll probably end up doing one of these two things:

1. Release what's on production

overview-docker/release deploy-2015-12-10.01

2. Release something else

overview-docker/release a1b2c3f4
Clone this wiki locally