I – Introdução
Neste post vamos mostrar os pontos mais importantes comumente usados ao iniciar um novo projeto em Ruby On Rails, mas agora de maneira mais específica, pois já falamos sobre este assunto anteriormente neste post: Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto.
II – Principais tecnologias usadas neste artigo
- Linux Ubuntu 11.10
- Ruby 1.9.2
- Rails 3.1.3
- RVM
- BitBucket site de hosting de aplicações, onde vamos armazenar os fontes
- Webbynode site onde vamos distribuir (deployment) o app que vamos criar.
III – O que não precisamos instalar
- Git, RVM, openssl, sqlite3 e outros pacotes necessários.
- Como dependemos de instalações e configurações anteriores, veja o post Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10 para garantir que o ambiente está preparado.
IV – Sequência de passos para instalação
Passo 01 - Instalação do Ruby versão 1.9.2
- Para verificar a versão atual acesse: http://www.ruby-lang.org/en/downloads/
- Para verificar se a versão do Ruby 1.9.2 já está instalado em seu ambiente use:
$ rvm list rubies - Para instalar o Ruby vamos usar o RVM, o gerenciador de versões Ruby, instalado anteriormente.
$ rvm install 1.9.2 (vai demorar)
$ rvm list
$ rvm use 1.9.2 (ou “rvm –default use 1.9.2″ torna esta, a versão default neste ambiente)
$ rvm list
$ ruby –version (versão do Ruby que você está usando)
Passo 02 – Atualize Rake e RubyGems
- Vamos atualizar o Rake
- Para verificar a versão atual acesse: http://rubygems.org/gems/rake
$ rake –version (Para ver a versão do Rake. O Rake versão 0.9.2.2 vem com o Ruby 1.9.3)
$ gem update rake
$ rake –version
- Agora vamos atualizar o RubyGems
- O RubyGems é um gerenciador de pacotes padrão que vem como parte da instalação do Ruby.
- Para verificar a versão atual acesse: http://rubygems.org/pages/download
$ gem –version (versão do RubyGem que você está usando. Deve ser versão 1.8.11 ou mais atual)
$ gem update –system
$ gem –version
Passo 03 – Crie e use um novo gemset para cada um de seus projetos
- É uma boa idéia usar um gemset específico para cada um dos seus projetos, juntamente com o seu arquivo Gemfile específico.
- Desta forma, apesar de você atualizar as gems de um “ProjectA” através da atualização para gems mais recentes, as mesmas gems não mudarão para o “ProjectB” – eliminando a possibilidade de interferência de gems, entre os projetos.
$ rvm list gemsets (para ver uma lista das versões de Ruby e gemsets instalados)
$ rvm gemset create gemset_myproject (crie um gemset para este projeto)
$ rvm use ruby-1.9.2-p290@gemset_myproject
$ rvm list gemsets
$ ls -l ~/.rvm/gems/ruby-1.9.2-p290@gemset_myproject (para consultar as gems instaladas nesse novo gemset. Por enquanto deve estar vazio)
$ gem list –local (traz a mesma informação anterior)
Passo 04 – Instalação do Rails.
- Finalmente instale o Rails 3.1.3 dentro da gemset criada anteriormente.
- Para verificar a versão atual acesse: http://rubygems.org/gems/rails
$ rails –version (Verifique versão do Rails. Vai retornar um erro: você ainda não instalou o Rails)
$ gem install rails –version 3.1.3 –no-rdoc –no-ri (ou “gem install rails”, instala a versão atual mais estável do Rails. Os parâmetros “–no-rdoc” e “–no-ri”, não instalam as documentações e são opcionais)
$ rails –version
$ ls -l ~/.rvm/gems/ruby-1.9.2-p290@gemset_myproject/gems (para consultar as gems instaladas nesse novo gemset. Agora não deve estar vazio)
$ gem list –local (traz a mesma informação anterior)
V – Criando uma aplicação
Itens específicos.
- Esta parte “V – Criando uma aplicação”, é específica por conta dos seguintes itens que estaremos usando:
- Você poderá seguir os passos abaixo, ou adaptá-los conforme sua necessidade.
Repositório para hospedar os fontes.
- Crie um repositório no site Bitbucket, que você abriu uma conta para hospedar os fontes.
- Para seguir o exemplo o nome do respositório deverá ser “demo”.
Sequência de comandos.
$ rails new demo
$ cd demo
$ gem install webbynode (gem da Webbynode para o deployment)
$ wn webbies (consulte os lugares disponíveis na Webbynode – conhecidas como webbies)
$ webbynode init nome_da_webby (nome_da_webby é o nome da webby escolhido anteriormente)
- Acrescente as linhas abaixo no arquivo Gemfile da aplicação demo.
gem ‘execjs’ # necessário para Linux
gem ‘therubyracer’ # necessário para Linux
group :production do
gem ‘pg’
end
# Use unicorn as the web server
gem ‘unicorn’
- Continuando, execute os comandos abaixo:
$ bundle install –without production
$ rails g scaffold user name:string age:integer
$ bundle exec rake db:migrate
$ bundle exec rake assets:precompile
- Você lembra qual a gemset que estamos trabalhando ?
- Para poupar o trabalho de ajustar a gemset e versão do Ruby cada vez que usar este projeto, podemos deixar que o próprio RVM ajuste isto para nós.
- Para isto crie um arquivo na raiz do projeto, chamado “.rvmrc”
- O conteúdo será:
rvm use ruby-1.9.2-p290@gemset_myproject
- Continuando, execute os comandos abaixo:
$ git init
$ git remote add demo https://seu_nome_usuario@bitbucket.org/seu_nome_usuario/demo.git
$ git status
$ git add .
$ git commit -am “created user model, controller, view”
$ git push demo master:master
$ wn push # deployment para a Webbynode
Para ver o resultado localmente.
$ bundle exec unicorn # roda na porta 8080
- Carregue o browser, e digite na linha de endereços:
localhost:8080/users
Para ver o resultado em produção.
- Carregue o browser, e digite na linha de endereços:
VI – Final Feliz
Pronto!
Fizemos o básico para iniciarmos um novo projeto usando Ruby On Rails 3.1.3 no Linux Ubuntu 11.10.
Agora a aplicação Demo, funciona em seu browser, permitindo localmente, manipular registros de pessoas e consulta-las, e funciona na internet também, hospedado na Webbynode.
VII – Referências
(1) Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10
(2) Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto
Muito legal, parabéns!
Estou com problema para usar o RVM na minha Webbynode, tenho 3 projetos assim:
Ruby 1.8.7, Rails 2.3.5
Ruby 1.8.7, Rails 2.3.11
Ruby 1.9.2, Rails 3.1.0
Mas só instalam as gems no ruby principal, aquele instalado durante a instalação do servidor? Tem alguma dica?
Publicado por Ricardo Oliveira | 05/05/2012, 11:04 AMOi Ricardo, tudo bem ?
Obrigado por ter acessado e lido meu artigo.
Não sei se entendi direito. No meu caso eu não uso RVM no servidor da Webbynode.
Eu uso o RVM localmente. No meu ambiente local eu tenho gemsets e rubies com várias versões
de Ruby.
Quando faço o deployment para minha “webby”, tanto o Rails e o Ruby são distribuidos respeitando
as versões locais do ambiente de desenvolvimento.
Se não foi isso que vc peguntou por favor me dê mais detalhes.
[]‘s
Sergio
Publicado por Sergio | 05/05/2012, 5:58 PMLegal, esse tutorial http://blog.glaucocustodio.com/2012/08/23/instalando-e-configurando-ambiente-ruby-on-rails-no-linux/ também é muito bom!
Publicado por AndréS | 23/08/2012, 10:53 PM