Skip to content
This repository has been archived by the owner on Jun 16, 2022. It is now read-only.

Heroku Deploy Break Glass Procedure

Joshua Zenn edited this page Apr 18, 2022 · 1 revision

Break-Glass Deploy Procedure

These steps are for when code needs to be deployed to production, but the GitHub Actions or Heroku CI/CD pipelines are not operational. Note that this breaks the release history, and you must exercise caution when re-enabling the pipelines.

  1. Ensure that all code is on the main branch. Never deploy from another branch.
  2. Ensure that all smoke tests in the JUnit suite pass and the integration RSpec tests.
  3. Install Docker and the Heroku CLI locally.
  4. Run the following in a terminal:
cd <project directory>
heroku container:login
docker build -t virtudoc-prod -f prod.Dockerfile .
docker tag virtudoc-prod registry.heroku.com/virtudoc/web
docker push registry.heroku.com/virtudoc/web
heroku container:release web -a virtudoc

Open the Heroku web portal and confirm that there is a new release.

Reset Procedure

  1. Perform the above process for EACH commit released between when the above steps were last performed, and the current commit on main.
  2. Activate the Heroku OAuth connection.
  3. Merge in a pull request to main.
  4. Confirm that the app is deployed sucessfully.