Deployments - DoSomethingArchive/legacy-website GitHub Wiki
All deploys can be started by Hubot in the #deploys Slack channel.
@george deploy thor <branch>
For example, @george deploy thor global
- 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>
- Just deploy the current version on staging with
@george deploy production v<version>
These are the environments used by the dev team
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.
- If you need a Fastly layer, or just want to do general testing, use staging.dosomething.org
- If you need origin behavior, use staging.beta.dosomething.org
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
Or "production", "www", all of the magical things happen here.
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
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: