Evaluar alternativas para instalar Rails en Mac OS Sierra (o Windows)

Ruby and Rails sigue siendo una alternativa muy útil y eficiente como herramienta para desarrollar sotware que use bases de datos,  y que sea accesible por web, en base a mi experiencia y estoy seguro que con los nuevos cambios de la versión 5 para desarrollar aplicaciones de Back End para soluciones hechas en arquitectura de microservicios.
Este post pretende presentar las diversas alternativas que tiene un desarrollador para instalar rails en su equipo;  estoy haciendo el ejercicio en Mac OS Sierra(Version 10-12-5), sin embargo los links que comparto tienen la explicación para hacer la instalación en Windows.
Las alternativas que presentaré son :
  • Instalar rails en tu sistema operativo nátivo, en mi caso OS X.  Si ocupas Windows puedes descargar e instalar Ruby installer
  • Instalar la versión de Rails que desees en un IDE en la nube como Cloud9
  • Usar Docker para instalar Rails
  • Instalar Rails usando un virtual image de manera fácil con Vagrant
En todas las alternativas he considerado que cumplan los siguientes lineamientos funcionales :
  1. Que pueda replicar mi entorno de trabajo de una manera ágil, fácil y segura
  2. Que pueda editar mis App desde cualquier estación de trabajo que tenga conexión a internet
  3. Que me ayude a implementar los 12 Factor App del Desarrollo de Software
  4. Que me ayude a implementar los criterios del Agile Manifesto para desarrollo de Software
  5. Que las App puedan ser trabajadas colaborativamente sin problemas.
A continuación los procesos de instalación de Ruby y Rails en sus versiones vigentes usando las alternativas planteadas :

Instalar Rails en OS X,

Usando brew (homebrew)
brew update
OS X trae ruby 2.0 instalado,  lo puedes verificar con ruby -v
La forma mas simple de instalar la versión reciente de ruby es con
$ brew install ruby
Si das  $ruby -v  ves que no ha cambiado la versión,  lo que ha sucedido es que brew lo instala en otra ubicación.
Debes agregar el sfw instalado a tu path con el siguiente comando :
$ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
Abandonas la terminal para que cuando reinicies terminal adopte los cambios
Luego verificas versión  con  $ruby -v     y ya te aparece actualizado
Si quieres tener varias versiones de ruby instalado,  utiliza :
$ brew install rbenv ruby-build
$ echo ‘eval "$(rbenv init -)"’ >> ~/.bash_profile $ source ~/.bash_profile
$ rbenv install 2.3.1  # Instala ruby version 2.3.1
$ rbenv global 2.3.1 # Configura que la versión 2.3.1 sea la global

Instalar Rails en Cloud9

Usar Cloud9 como IDE en la nube, debes crear cuenta que de manera gratuita te dá una funcionalidad limitada.
untaldouglas:~/workspace $ rm -rf *   # Elimina carpetas creadas inicialmente por instalador
untaldouglas:~/workspace $ sudo gem install rails --no-ri --no-rdoc    # Instala la versión X de Rails
$ rails -v  # ver version de rails,  en este ejercicio se instaló version 5.1.1  
Esta es en mi opinión la manera más rápida de tener acceso a un espacio de trabajo con Rails.

Instalar usando Docker

Instalar Docker CE .
Si ya has usado Docker Toolbox te recomiendo leas este link para evitar problemas de configuración :  
Como yo tenía instalado Docker toolbox, deberé hacer lo siguiente, inicializar las variables de entorno para que no tenga conflicto con Docker :
$ unset DOCKER_TLS_VERIFY && unset DOCKER_CERT_PATH && unset DOCKER_MACHINE_NAME && unset DOCKER_HOST
$ env | grep DOCKER  # me tiene que aparecer en blanco las variables, no despliega nada.
Al ejecutar Docker (versión nativa) por primera vez,  es recomendable importar las images y data que tenias en Docker Toolbox (si es que lo tenías instalado).

Instalar en una Virtual Machine usando Vagrant

$ git clone https://github.com/rails/rails-dev-box.git
$ cd rails-dev-box
$ vagrant up
Esta es la manera más tardada en mi ejercicio

Conclusión
Si de verdad vas a estar trabajando con Rails durante varias horas de tu jornada recomiendo :
  1. Actualizar  Ruby a la versión más reciente  con brew  para tener un espacio inmediato para probar aplicacio …   nes o código con ruby desde la terminal sin tener que estar abriendo Virtuales.
  2. Utilizar Docker para manejar los diferentes entornos o versiones de cada app que desarrolles;  esto a la larga te facilitará la puesta en producción del sfw y tendrás más opciones posteriores para orquestar tu entorno de trabajo y tu aplicación en producción.

En los próximos Posts utilizaré las opciones recomendadas acá para desarrollar una pequeña App que llevaré a producción en las diversas alternativas existentes (Ejemplo Docker cloud,  Google Cloud, Amazon AWS,  Azzure, Servers propios)

Sus comentario serán muy apreciados para mejorar este documento.

Instalar Rails Usando Docker



Comments

Popular posts from this blog

Guía de instalación y configuración de Elixir Phoenix en Linux Pop 21 o Ubuntu 20.04

Instalar Frappe y ErpNext usando Docker developer mode en Linux y Mac

Configurar entorno de desarrollo para Django y Postgres con VSCode plugins