-
Notifications
You must be signed in to change notification settings - Fork 0
For Developers: Deployment Procedures
When you're ready to deploy a branch or commit, run use Capistrano.
Capistrano is basically just a big wrapper around ssh. Running a cap script is effectively the same as executing a list of ssh commands from your machine to a server. So we need to ensure that you can ssh into the server with our deploy user:
ssh -p 1855 -l deploy rmdweb1qa.vmhost.psu.edu
exit
Once you've verified that ssh is successful, exit out of the session and return to the root of the rmd repo.
All required gems are stored in vendor/cache
. To ensure the cache is up-to-date, run:
bundle package
Commit any added gems to the repo.
Choose which server environment:
bundle exec cap qa deploy
bundle exec cap staging deploy
bundle exec cap production deploy
After entering the command, it will prompt you for which tag/commit/branch you want to deploy. The relevant tag, commit, or branch is pulled down from git by the server, so make sure that the repo is up-to-date with whatever changes you made that you want deployed.
Deployments may fail if the x86_64 versions of certain gems are not in vendor/cache
. If you see errors to the effect that a particular gem was not found, either re-run bundle package
or download the platform-specific gem. For example:
gem fetch libv8-node -v '15.14.0.1' --platform x86_64-linux
mv libv8-node-15.14.0.1-x86_64-linux.gem vendor/cache
This downloads libv8-node-15.14.0.1-x86_64-linux.gem
and moves it into the cache. Commit, push, and then re-run cap deploy.