Skip to content

Release Deploy Process

Keenan Villani-Holland edited this page Apr 13, 2016 · 1 revision

Deploy Command

In Slack, type /deploy [project] [environment] [version tag]. This will work for any projects hosted on the Daft Labs AWS account. Some projects with external hosting have their own deploy command, for example /deploy_lvt will deploy Localvore. Environments are generally staging, production, and api.

Deploying a Release

  1. Identify all Pivotal stories that belong in the release. Ideally, this will be labeled in Pivotal with the version you are releasing.
  2. Identify the merged pull requests related to these stories. Ideally, these will also be labeled with version in GitHub.
  3. If there is nothing on master that isn't slated for release to production, skip to step 9.
  4. Checkout the current version, ex: git checkout v1.10.3
  5. Starting with the oldest merged pull request, git cherry-pick each commit to that branch from oldest to newest. Resolve conflicts as they occur. Continue until all the pull requests from step 2 have been cherry-picked in.
  6. Rebase with -i using the old version tag, ex: git rebase -i v1.10.3
  7. This will open up a file with one line for each commit you've cherry-picked. Starting at the second line, change all occurrences of pick to squash or s, and write/quit.
  8. Write a commit message, if you want, or just leave it as is. You've now squashed all these commits into one commit, meaning you can tag it with a new version.
  9. git tag v1.10.4
  10. git push origin v1.10.4
  11. /deploy funProject staging v1.10.4
  12. Wait.

Clone this wiki locally