Criando um ambiente para testar o Rails 6

Jorge Junior
Jorge Junior
Published in
2 min readAug 21, 2019

Fala pessoal, tudo certo?

Sabemos que o querido framework teve o final release da versão 6.0 recentemente e é claro que queremos testar e brincar um pouco para ver as novidades que ele trouxe.

Para isso, vamos usar nosso amigo docker, que nos possibilita criar ambientes isolados e limpos para nossa aplicação.

Vamos para o código

A primeira coisa que iremos fazer, é criar um arquivo Dockerfile que é responsável por instalar os requisitos do nosso container

A ideia desse arquivo é, usando a imagem com versão 2.6 do ruby (o Rails 6 requer no mínimo o ruby 2.5), instalar alguns pacotes necessários (node, cliente do postgres e o yarn). Repare que ele também cria o diretório para o projeto dentro do container (no caso /myapp) e copia o Gemfile e o Gemfile.lock responsávaeis por instalar o rails e manter as versões corretas no container.

O arquivo Gemfile, inicialmente (após o build do container, será reescrito), é o abaixo. Crie também um arquivo Gemfile.lock vazio.

Precisamos também criar o arquivo entrypoint.sh, já que é necessário remover o arquivo server.pid, que ajudar a identificar que há um servidor rodando. Esse arquivo, por alguma razão, pode não ser removido quando o servidor do rails é terminado.

Por fim, vamos criar o nosso docker-compose:

Com isso, podemos rodar o seguinte comando para construir e criar a aplicação rails

docker-compose run web rails new . --force --no-deps --database=postgresql

Após rodar esse comando, se você está usando linux, será necessário mudar o owner dos arquivos criados para o seu usuário:

sudo chown -R $USER:$USER .

Você pode reparar que o arquivo Gemfile e o Gemfile.lock foram modificados. Agora precisaremos fazer um build para atualizar a referencia de gems no nosso container:

docker-compose build

Agora estamos quase acabando. Precisamos apenas configurar o arquivo database.yml que fica na pasta config/

Agora já podemos subir a aplicação e criar o banco de dados. Em dois terminais diferentes, rode os seguintes comando:

docker-compose up

docker-compose run --rm rails db:create

Ai é só alegria, agora é so acessar localhost:3000 e ver a carinha do Rails 6.0

Obs: Esse artigo teve como base o tutorial do próprio docker https://docs.docker.com/compose/rails/

--

--