1. Resources
  2. /
  3. Plugins
  4. /
  5. rubygems-oidc-buildkite-plugin

Rubygems OIDC Buildkite Plugin

Exchange a Buildkite OIDC token with Rubygems as a trusted provider, via an OIDC API Key Role, to securely push Rubygems from your Buildkite pipelines.

Is the exchange is successful, a short lifetime rubygems API Token will be exported to the GEM_HOST_API_KEY environment variable. The gem cli tool will detect and use that variable automatically.

Basic usage, which requires the gem command to be available in the agent environment:

steps:
- label: ":rubygems: Build and push to Rubygems"
  plugins:
  - rubygems-oidc#v0.2.0:
      role: rg_oidc_akr_...
  command: |
    gem build "*.gemspec"
    gem push "*.gem"

If the gem command is not available on the agents, this plugin can be combined with the docker plugin:

steps:
- label: ":rubygems: Build and push to Rubygems"
  plugins:
    - rubygems-oidc#v0.2.0:
        role: "rg_oidc_akr_..."
    - docker#v5.12.0:
        image: "ruby:slim"
        command: ["/bin/bash", "-c", "gem build *.gemspec && gem push *.gem"]
        environment:
          - GEM_HOST_API_KEY

Configuration

Required

role (required, string)

The OIDC API Key Role token provided by rubygems.org.

Example: rg_oidc_akr_1a02be62783ebc2783ff

Optional

host (optional, string)

The hostname to use when requesting a temporary API token from rubygems. Defaults to https://rubygems.org and only needs to be changed in testing situations.

Example: https://example.com

lifetime (optional, string)

The number of seconds the requested Buildkite OIDC token will be valid for. Defaults to 60 seconds.

Example: 60

Thanks

Inspired by https://github.com/rubygems/configure-rubygems-credentials

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

Start turning complexity into an advantage

Create an account to get started with a 30-day free trial. No credit card required.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Public pipelines
  3. Test Engine
  4. Package Registries
  5. Mobile Delivery Cloud
  6. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Example pipelines
  5. Plugins
  6. Webinars
  7. Case studies
  8. Events
  9. Migration Services
  10. Comparisons

Company

  1. About
  2. Careers
  3. Press
  4. Security
  5. Brand assets
  6. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for AI/ML
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2025