Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Understanding Ruby on Rails configuration

Understanding Ruby on Rails configuration

Basic tools and configuration files to set up a Ruby on Rails application.

Avatar for Esteban Pintos

Esteban Pintos

October 15, 2014

Other Decks in Technology

Transcript

  1. Gemas • Código zipeado con datos extra • Podemos incluirlas

    en nuestros proyectos para facilitar nuestro desarrollo • Versionadas
  2. Gemfile • Archivo de configuración RoR • Gemas en el

    proyecto • Permite especificar versiones • Permite ordenarlas por ambiente de ejecución • Requiere un servidor de gemas ◦ http://rubygems.org
  3. Gemfile#Grupos • Permite separar gemas por ambiente: ◦ Development ◦

    Test ◦ Production ◦ ... • Gemas tienen sentido en algunos ambientes en particular ◦ rspec en test
  4. Gemfile#Versiones • Permite definir que versiones se requieren: ◦ Evitar

    conflictos entre gemas ◦ Incluir funcionalidad específica ◦ Evitar versiones no compatibles con el código actual
  5. Gemfile#Versiones • Formas de versionar: ◦ ‘2.1’ 2.1 (bundle =

    bundle update) ◦ ‘>=3.0’ [3.0, +inf) ◦ ‘~>2.1’ [2.1, 3.0) ◦ ‘~>2.0.3’ [2.0.3, 2.1) ◦ ‘~>2.2.beta’ 2.2.beta.12
  6. Gemfile.lock • Versiones de gemas ya instaladas en el proyecto.

    • Si se clona el repo va a instalar las versiones definidas en el mismo.
  7. • Permite crear un ambiente de trabajo consistente. • Instala

    las gemas y versiones requeridas • Instalación: gem install bundler • Instalar gemas: bundle [install]
  8. bundle install vs. bundle update • Bundle install genera el

    Gemfile.lock y luego lo utiliza. • Bundle update ignora el Gemfile.lock. • Preferible usar bundle update gem_name
  9. bundle exec • Corre el ejecutable de una gema especificada

    en el Gemfile • bundle exec rspec • WARNING: Se puede evitar pero podria traer conflictos.
  10. Rbenv • Herramienta para manejar versionado de Ruby • Fija

    versión de Ruby y asegura que producción corra la misma • Versión en archivo .ruby-version
  11. Rbenv#Comandos • rbenv rehash: Instala las shims para los ejecutables

    de Ruby que rbenv conoce. Necesario cuando se actualiza la versión de Ruby o gemas • rbenv local: Versión local seteada
  12. Ruby Build • Plugin de rbenv que permite compilar e

    instalar diferentes versiones de Ruby • rbenv install version_ruby • rbenv install -l: Versiones disponibles. Si no lista alguna existente conocida, hay que pullear el repo
  13. Resumen Configuración - Instalar Rbenv y Ruby-Build - agregar .ruby-version

    - configuramos Gemfile - rbenv install version - gem install bundler - rbenv rehash - bundle install
  14. Bibliografia • http://bundler.io/ • http://semver.org/ -> Versiones • https://github.com/sstephenson/rbenv •

    https://github.com/sstephenson/ruby-build • http://guides.rubygems. org/patterns/#pessimistic_version_constraint