Skip to content
This repository has been archived by the owner on Oct 29, 2020. It is now read-only.

Deployments

Sena Heydari edited this page Sep 30, 2015 · 16 revisions

Deploying via Hubot

All deploys can be started by Hubot in the #deploys Slack channel.

Deploying to Thor

@george deploy thor <branch>

For example, @george deploy thor global

Deploying to Staging

  • First grab the version of Phoenix @george version phoenix
  • Next, increment the version up and release it @george release phoenix v<version number>
  • Finally, deploy it! @george deploy staging v<version>

Deploying to prod

  • Just deploy the current version on staging with @george deploy production v<version>

Environments

These are the environments used by the dev team

Staging

The default place changes from dev branch are pushed to and tested. Thorough testing should be completed on staging before pushing to production. Staging can be accessed by two different URL's depending on the use case you're trying to test.

Thor

Thor is currently the hub of all potentially 💥 global work, and in the future other branches which could go 💥. Thor has a Fastly layer attached, and can be accessed via thor.dosomething.org

Prod

Or "production", "www", all of the magical things happen here.

International Environments Old

Documenting because they're still live. Affiliate sites each have there own site (eg: ca.dosomething.org) which require there own deployments. These are being phased out as we work on global 1.0 and beyond.

To deploy international environments, follow this example @george deploy [intl-prod|intl-qa] v0.3.10

How deploys work

Deployments are handled by Capistrano. Capistrano allows us to run tasks on remote servers trigged by a cli command. This means we can deploy to any of our application servers directly from the command line. To make things easier, deployments have been abstracted into a Jenkins Job and a custom Hubot script, which allows developers to run deployments directly from our chat channel. The workflow:

Clone this wiki locally