-
Notifications
You must be signed in to change notification settings - Fork 22
Deploys
Our primary method of deploying the RubyGems.org application is via shipit, our deploy service. This is an instance of the open source shipit tool. 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.
From the repo directory:
export REVISION=$(curl http://staging.rubygems.org/internal/revision)
export ENVIRONMENT=staging
kubernetes-deploy rubygems-$ENVIRONMENT rubygems --template-dir config/deploy/$ENVIRONMENT --bindings=environment=$ENVIRONMENT
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