Skip to content

Production Deployment

Julia Nguyen edited this page Oct 2, 2020 · 18 revisions

Once you merge to main, your changes are not automatically deployed to production. Main is only deployed to production when a git tag is created. We follow Semver conventions for versioning. We rely on tags to create release notes.

From the main branch, we recommend you do:

git tag -a v[X.X.X] -m [Message here]
git push origin main --tags

Otherwise, you can do it through GitHub Releases.

Once created/pushed, the tag should create a new build called build-test-deploy. You can see its progress in our CircleCI dashboard. After that, go into Releases and add official release notes.

When to deploy?

  • Major feature releases
  • Major package updates
  • Major copy changes
  • Major code refactors (functionality is changed)
  • Performance improvements
  • UI improvements (includes accessibility enhancements)
  • Bug fixes
  • Database changes and migrations

When to hold off deploying?

  • Minor package updates
  • Minor copy changes
  • Minor code refactors (functionality is not changed)
  • Adding/removing code comments
  • React components/widgets that are not used in Rails
  • Updates to documentation e.g. README.md

Monitoring on Production

We have Sentry to monitor errors for both Ruby on Rails and React. You can view notifications in the #sentry channel on Slack.

Clone this wiki locally