Ruby Gems
Las gemas deben ser publicadas en rubygems.org. Las publicaremos con nuestro usuario personal pero debemos agregar como owner al usuario de platanus.
Configuración en Circle CI
Para hacer el deploy usando CircleCI, necesitamos agregar el archivo de configuración en la gema. Puedes ver un ejemplo de configuración aquí, pero en resumen lo que se hizo fue:
Agregar el script en .circleci/setup-rubygems.sh
.circleci/setup-rubygems.sh
Para poder utilizar la api key de rubygems al hacer el deploy.
Agregar el job "deploy" en .circleci/config.yml
.circleci/config.yml
Esto:
Ejecuta el setup básico del proyecto.
Ejecuta el script para copiar la api key en un archivo que se utilizará para el deploy de la gema.
Crea el archivo .gem
Crea la nueva versión en rubygems.
Agregar el job deploy al workflow
Lo que se hace aquí es ejecutar el job deploy siempre que se cree un nuevo tag en github.
org-global es un contexto que tiene definido la variable de entorno
RUBYGEMS_API_KEY
que necesitamos para hacer el deploy.
Publicación
Una vez configurado CircleCI en la gema tenemos que:
Cambiar
VERSION
enlib/my_new_gem/version.rb
para que apunte a la nueva versión.Cambiar el título
Unreleased
a la versión nueva en elCHANGELOG.md
.Correr
bundle install
.Hacer commit (directo en master) de un nuevo release. Por ejemplo:
Releasing v0.1.0
.Crear el tag. Por ejemplo:
git tag v0.1.0
.Hacer push del tag. Por ejemplo:
git push origin v0.1.0
.
¡Listo!
Última actualización