Our primary method of deploying the RubyGems.org application is via shipit, our deploy service. This is preferred because it requires no ssh access, no kubectl access, no manual commands, and is visible to everyone on the team.
Shipit automatically deploys the
master branch to staging as soon as CI passes. To manually deploy a specific branch or commit to staging, see the manual installation instructions below.
Before deploying to production, make sure that the commit has been deployed to staging and everything is working there.
Once you are ready to deploy, go to https://shipit.rubygems.org/rubygems/rubygems.org/production. You'll be shown a list of commits that are not yet deployed, and you can choose to deploy any commit. After pushing the deploy button, Shipit will show a live deploy log, and announce the deploy in Slack as well.
TODO: write instructions for manual kubernetes deploy
Pushing a gem to staging
gem build some.gemspec gem push some-1.0.0.gem --host https://staging.rubygems.org gem list some --clear-sources -raVs https://staging.rubygems.org