馃憢 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


Frecuentemente publicamos actualizaciones de nuestra documentaci贸n. Es posible que la traducci贸n de esta p谩gina est茅 en curso. Para conocer la informaci贸n m谩s actual, visita la documentaci贸n en ingl茅s. Si existe un problema con las traducciones en esta p谩gina, por favor inf贸rmanos.

Configurar RubyGems para usar con paquetes de GitHub

Puedes configurar RubyGems para publicar un paquete para GitHub Packages y utilizar paquetes almacenados en GitHub Packages como dependencias en un proyecto Ruby con Bundler.

GitHub Packages se encuentra disponible con GitHub Free, GitHub Pro, GitHub Free para organizaciones, GitHub Team, GitHub Enterprise Cloud, y GitHub One. GitHub Packages no est谩 disponible para repositorios privados que pertenezcan a cuentas que utilicen planes tradicionales por repositorio. Para obtener m谩s informaci贸n, consulta la secci贸n "Productos de GitHub".

En este art铆culo

Prerrequisitos

  • Debes tener rubygems 2.4.1 o superiores. Para encontrar tu versión de RubyGems:

    $ gem --version
    • Debes tener bundler 1.6.4 o superiores. Para encontrar tu versión Bundler:

      $ bundle --version
      Bundler version 1.13.7
    • Instala keycutter para administrar múltiples credenciales. Para instalar keycutter:

      $ gem install keycutter

      Autenticar a GitHub Packages

      Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en GitHub Packages. Puedes utilizar un token de acceso personal para autenticarte con tu nombre de usuario directamente en GitHub Packages o en la API de GitHub. Puedes utilizar un GITHUB_TOKEN para autenticarte utilizando un flujo de trabajo de GitHub Actions.

      Autenticando con un token de acceso personal

      Debes utilizar un token de acceso personal con los alcances adecuados para publicar e instalar paquetes en GitHub Packages. Para obtener más información, consulta "Acerca de GitHub Packages."

      Puedes autenticar a GitHub Packages con RubyGems editando el archivo ~/.gem/credentials para publicar gemas, editar el archivo ~/.gemrc para instalar una gema única o usar Bundler para rastrear e instalar una o más gemas.

      Para publicar gemas nuevas, debes autenticarte para GitHub Packages con RubyGems editando tu archivo ~/.gem/credentials para incluir tu token de acceso personal. Crear un nuevo archivo ~/.gem/credentials si este archivo no existe.

      Por ejemplo, crearías o editarías un ~/.gem/credentials para incluir lo siguiente, reemplazando TOKEN con tu token de acceso personal.

      ---
      :github: Bearer TOKEN

      Para instalar gemas, debes autenticarte para GitHub Packages editando el archivo ~/.gemrc para que tu proyecto incluya https://USERNAME:TOKEN@rubygems.pkg.github.com/OWNER/. Debes reemplazar:

    • USERNAME con tu nombre de usuario GitHub.

    • TOKEN por tu token de acceso personal.

    • OWNER (propietario) por el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio que contiene tu proyecto.

      Si no tienes un archivo ~/.gemrc, crea un nuevo archivo ~/.gemrc usando este ejemplo.

      ---
      :backtrace: false
      :bulk_threshold: 1000
      :sources:
      
    • https://rubygems.org/

    • https://USERNAME:TOKEN@rubygems.pkg.github.com/OWNER/ :update_sources: true :verbose: true

      Para autenticar con Bundler, configura Bundler para usar tu token de acceso personal, reemplazando USERNAME con tu nombre de usuario GitHub, TOKEN con tu token de acceso personal y OWNER con el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio que contiene tu proyecto. Dado que las letras mayúsculas no son compatibles, debes usar minúscula para el propietario del repositorio si el nombre de usuario o el nombre de la organización de GitHub contiene letras mayúsculas.

      $ bundle config https://rubygems.pkg.github.com/OWNER USERNAME:TOKEN

      Autenticando con el GITHUB_TOKEN

      Si estás utilizando un flujo de trabajo de GitHub Actions, puedes utilizar un GITHUB_TOKEN para publicar y consumir paquetes en GitHub Packages sin que necesites almacenar y administrar un token de acceso personal. Para obtener más información, consulta la sección "Autenticarse con el GITHUB_TOKEN".

      Publicar un paquete

      Predeterminadamente, GitHub publica el paquete en un repositorio existente con el mismo nombre que éste. Por ejemplo, cuando publicas octo-gem a la organización octo-org, GitHub Packages publica la gema en el repositorio octo-org/octo-gem. Para obtener más información sobre la creación de tu gema, consulta "Crear tu propia gema" en la documentación de RubyGems.

      Después de que publiques un paquete, puedes verlo en GitHub. Para obtener más información, consulta "Visualizar paquetes".

    1. Autentícate en GitHub Packages. Para obtener más información, consulta "Autenticar a GitHub Packages."
    2. Construye el paquete desde el gemspec para crear el paquete .gem.
      gem build OCTO-GEM.gemspec
  1. Publica un paquete para GitHub Packages, reemplazando OWNER con el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio que contiene tu proyecto y OCTO-GEM con el nombre de tu paquete de gem.

    $ gem push --key github \
    --host https://rubygems.pkg.github.com/OWNER \
    OCTO-GEM-0.0.1.gem

Publicar varios paquetes en el mismo repositorio

Para publicar múltiples gemas en el mismo repositorio, puedes incluir la URL al repositorio GitHub en el campo github_repo en gem.metadata. Si incluyes este campo, GitHub encuentra el repositorio en base a este valor, en lugar de usar el nombre de la gema.

gem.metadata = { "github_repo" => "ssh://github.com/OWNER/REPOSITORY" }

Instalar un paquete

Puedes usar gemas desde GitHub Packages al igual que usas gemas de rubygems.org. Debes autenticar para GitHub Packages al agregar tu usuario u organización GitHub como fuente en el archivo ~/.gemrc o mediante el uso de Bundler y la edición de Gemfile.

  1. Autentícate en GitHub Packages. Para obtener más información, consulta "Autenticar a GitHub Packages."

  2. Para Bundler, agrega tu usuario u organización GitHub como fuente en tu Gemfile para extraer gemas de esta nueva fuente. Por ejemplo, puedes agregar un nuevo bloque fuente a tu Gemfile que utiliza GitHub Packages solo para los paquetes que especifiques, reemplazando GEM NAME con el paquete que deseas instalar desde GitHub Packages y OWNER con el usuario o la organización que posee el repositorio que contiene la gema que deseas instalar.

    source "https://rubygems.org"
    
    gem "rails"
    
    source "https://rubygems.pkg.github.com/OWNER" do
      gem "GEM NAME"
    end
    
  3. Para las versiones de Bundler anteriores a 1.7.0, debes agregar una nueva fuente global. Para obtener más información acerca del uso de Bundler, consulta la documentación bundler.io.

    source "https://rubygems.pkg.github.com/OWNER"
    source "https://rubygems.org"
    
    gem "rails"
    gem "GEM NAME"
    
  4. Instala el paquete:

    $ gem install octo-gem --version "0.1.1"

Leer más

Pregunta a una persona

驴No puedes encontrar lo que est谩s buscando?

Cont谩ctanos