-
Notifications
You must be signed in to change notification settings - Fork 260
How do we deploy this thing?
Teagan edited this page Dec 20, 2017
·
9 revisions
This repo is set to automatically deploy to Heroku. Any time there is a merge into develop, the develop branch will be deployed to refugestaging.herokuapp.com. Any time there is a merge into master, the master branch will be released to refugerestrooms.org
When making a release, you should do the following:
- Check the status of the app on refugestaging.herokuapp.com and make sure it's functional.
- Make sure the the most recent build of develop is passing on TravisCI
- Run
git flow release start %{release number}
- Run
git shortlog --grep "Merge pull request #" %{previous release}..HEAD
and copy the contents into a new issue with the release tag here on github. This command gives you a list of PRs merged since the previous release. -
git flow release finish
and copy the contents of #4 into the release tags. -
git push
in the master branch andgit push --tags
- this will trigger the heroku deploy to production.
Currently, we deploy to Heroku. Our application is small enough that it is reasonably cheap to host on Heroku, and we don't mind the server having to wake up if nobody has accessed the site in a while.
We have both a staging and a production instance on Heroku. The staging instance can be found at http://refugestaging.herokuapp.com/
Here are the steps to deploy:
- Talk to @tkwidmer about getting access as a collaborator for both the production and staging Heroku instances.
- Link your local repo to the Heroku remote repos. I suggest doing it this way:
git remote add production [email protected]:refugerestrooms.git
git remote add staging [email protected]:refugestaging.git
git flow release start %{release number}
-
git push staging release/%{release number}:master
and verify your changes on staging. (run any migrationsheroku run rake db:migrate --remote staging
) - Run
git shortlog --grep "Merge pull request #" %{previous release}..HEAD
and copy the contents. -
git flow release finish
and copy the contents of #5 into the release tags. -
git push
andgit push --tags
-
git push production master
and run any migrationsheroku run rake db:migrate --remote production