RubyGems: Publicar y compartir tu gema (8)

Ahora que has creado tu primera gema , probablemente estés listo para compartirla.

Si bien, es perfectamente razonable crear gemas privadas únicamente para organizar el código en grandes proyectos privados, es más común crear gemas para que puedan ser utilizadas por varios proyectos.

En esta guía se analizan las diversas formas en que puedes compartir tu gema con el resto del mundo.

Compartir código fuente

La forma más sencilla (desde la perspectiva del autor) de compartir una gema para el uso de otros desarrolladores es distribuirla en forma de código fuente.

Si colocas el código fuente completo de tu gema en un repositorio público de git (a menudo, aunque no siempre, eso significa compartirlo a través de GitHub) entonces otros usuarios pueden instalarlo con la funcionalidad de bundler de Bundler.

Por ejemplo, puedes instalar el código más reciente para la gema evil_pdf en un proyecto al incluir esta línea en tu Gemfile:

gem "wicked_pdf", :git => "git://github.com/mileszs/wicked_pdf.git"

Instalar una gema directamente desde un repositorio git es una función de Bundler, no una función de RubyGems.
Las gemas instaladas de esta manera no aparecerán cuando ejecutes gem list .

Proporcionar tus propias gemas

Si deseas controlar quién puede instalar una gema o realizar un seguimiento directo de la actividad que rodea a una gema, querrás configurar un servidor de gemas privado.

Puede configurar tu propio servidor de gemas o usar un servicio comercial como Gemfury.

RubyGems 2.2.0 y versiones posteriores admiten el valor allowed_push_host de los metadatos para restringir los envíos de gemas a un único host.

Si estás publicando gemas privadas, debes establecer este valor para evitar envíos accidentales a rubygems.org:

Gem::Specification.new 'my_gem', '1.0' do |s|
# ...
s.metadata['allowed_push_host'] = 'https://gems.my-company.example'
end

Consulta la guía de recursos para obtener una lista actualizada de todas las opciones para crear servidores privados de gemas.

Publicarla en Rubygems.org

La forma más sencilla de distribuir una gema para el consumo público es usar RubyGems.org.

Las gemas que se publican en RubyGems.org se pueden instalar mediante el comando gem install o mediante el uso de herramientas como Isolate o Bundler.

Para comenzar, debes crear una cuenta en RubyGems.org. Visitar la página de usuario y proporcionar una dirección de correo electrónico que controles, un identificador (nombre de usuario) y una contraseña.

Después de crear una cuenta, usa tu correo electrónico y contraseña cuando presiones la gema.

(RubyGems guarda las credenciales en ~/.gem/credentials para ti, por lo que solo necesitas iniciar sesión una sola vez).

Debes tener en cuenta que el nombre de tu gema debe ser único. No puedes tener un nombre de gema que ya esté en uso por otra gema en RubyGems.org.

Por ejemplo. Para publicar la versión 0.1.0 de una nueva gema llamada ‘squid-utils’ debes seguir este paso:

$ gem push squid-utils-0.1.0.gem
Enter your RubyGems.org credentials.
Don't have an account yet? Create one at https://rubygems.org/sign_up
Email:   gem_author@example
Password:
Signed in.
Pushing gem to RubyGems.org...
Successfully registered gem: squid-utils (0.1.0)

¡Felicidades! Con eso tu nueva gema ya estará lista para que la instale cualquier otro usuario de Ruby de todo el mundo.

Permisos de inserción

Si tienes varios mantenedores para tu gema, puedes dar permiso a tus compañeros mantenedores para enviar la gema a rubygems.org a través del comando de propietario de la gema.


<<

Relacionados

Deja un comentario