Install
Package types

RubyGems

Install gems with gem and Bundler through a RubyGems repository, and push your own.

This command makes Bundler mirror rubygems.org through the repository:

relic package setup ruby gems --write

Install gems:

bundle install

By hand, add an API key for the repository to ~/.gem/credentials. The response is one entry keyed by the repository's URL, so gem sends the key to that host only and the file's other keys stay:

curl -u <you>:<password> https://relic.example.com/gems/gems/api/v1/api_key.yaml >> ~/.gem/credentials

Restrict the file to your user:

chmod 600 ~/.gem/credentials

Push a gem:

gem push my_gem-1.0.0.gem --host https://relic.example.com/gems/gems

In CI, give gem an access token as the API key:

GEM_HOST_API_KEY=<token> gem push my_gem-1.0.0.gem --host https://relic.example.com/gems/gems

Give Bundler your credentials:

bundle config set --global https://relic.example.com/gems/gems/ <you>:<token>
  • gem sources -a https://relic.example.com/gems/gems/ adds the repository as a source. Through a remote, or a virtual repository with one, gem install and gem search --remote find the upstream's gems as well as local ones. For a user whose permission covers only some paths of the remote, the specs indexes gem search reads list local gems only.
  • api_key.yaml and gem signin return a new access token. gem yank moves a gem to the trash can.