Fazer o deploy de aplicações Rails no Heroku é uma das formas mais simples e rápidas de colocar sua aplicação Ruby on Rails em produção. Heroku oferece uma plataforma como serviço (PaaS), permitindo que os desenvolvedores se concentrem no código, enquanto a plataforma cuida da infraestrutura e da escalabilidade. Neste artigo, vamos explorar os passos para realizar o deploy de aplicações Rails no Heroku, incluindo algumas dicas e melhores práticas para garantir um processo eficiente.
Pré-requisitos
Antes de realizar o deploy de sua aplicação Rails no Heroku, é importante garantir que você tenha as ferramentas necessárias:
- Conta no Heroku: Crie uma conta no Heroku.
- Heroku CLI: Instale a Heroku CLI, que permite interagir com o Heroku diretamente do seu terminal.
- Git: Heroku usa o Git para controle de versão e deploy, então você precisa ter o Git instalado.
Passo 1: Preparando sua Aplicação Rails
Antes de realizar o deploy de sua aplicação Rails no Heroku, é importante que ela esteja configurada corretamente para a produção.
1.1 Configuração do Banco de Dados
Se sua aplicação usa o banco de dados, o primeiro passo é garantir que o banco de dados seja configurado para o ambiente de produção. O Heroku fornece o PostgreSQL como banco de dados padrão. Para configurá-lo, edite seu arquivo config/database.yml
para que ele use as variáveis de ambiente fornecidas pelo Heroku:
production:
<<: *default
database: <%= ENV['DATABASE_URL'] %>
1.2 Adicionando o Gemfile para Produção
Certifique-se de que todas as gems necessárias para a produção estejam listadas no seu Gemfile
. Algumas gems comuns incluem:
gem 'pg'
gem 'rails_12factor'
gem 'puma'
O rails_12factor
ajuda a configurar o ambiente para produção no Heroku, enquanto o puma
é o servidor de aplicação recomendado para ambientes de produção.
1.3 Compilação de Assets
Antes de realizar o deploy, é importante garantir que seus assets estejam prontos para produção. Para isso, rode:
RAILS_ENV=production bundle exec rake assets:precompile
Isso irá compilar seus assets para que fiquem otimizados para o ambiente de produção.
Passo 2: Criando e Configurando a Aplicação no Heroku
Agora que sua aplicação está pronta, você pode criar um novo aplicativo no Heroku.
2.1 Criando a Aplicação no Heroku
Use o Heroku CLI para criar um novo aplicativo:
heroku create nome-da-aplicacao
Isso irá criar uma aplicação no Heroku e configurar automaticamente um repositório Git remoto chamado heroku
.
2.2 Configurando o Banco de Dados no Heroku
Para adicionar o PostgreSQL à sua aplicação, execute o comando:
heroku addons:create heroku-postgresql:hobby-dev
Isso configura o banco de dados para sua aplicação.
2.3 Definindo Variáveis de Ambiente
Defina as variáveis de ambiente necessárias para a produção, como SECRET_KEY_BASE
e RAILS_MASTER_KEY
, para garantir a segurança de sua aplicação:
heroku config:set RAILS_MASTER_KEY=seu_rails_master_key
Essas variáveis são essenciais para o funcionamento adequado de sua aplicação em produção.
Passo 3: Realizando o Deploy
Com a aplicação configurada no Heroku, o próximo passo é realizar o deploy. Isso pode ser feito facilmente com o Git.
3.1 Enviando o Código para o Heroku
Para fazer o deploy de sua aplicação Rails no Heroku, basta fazer o push do código para o repositório remoto do Heroku:
git push heroku master
O Heroku irá automaticamente detectar que se trata de uma aplicação Rails e realizará o processo de deploy, incluindo a instalação das dependências, a configuração do banco de dados e a inicialização do servidor.
3.2 Rodando as Migrações do Banco de Dados
Após o deploy, você precisa rodar as migrações do banco de dados para garantir que a estrutura esteja correta. Para isso, use o seguinte comando:
heroku run rake db:migrate
Isso garante que as tabelas e os índices necessários sejam criados no banco de dados PostgreSQL no Heroku.
Passo 4: Acessando Sua Aplicação
Uma vez que o deploy tenha sido concluído, você pode acessar sua aplicação usando o comando:
heroku open
Isso abrirá a URL da sua aplicação no navegador, permitindo que você verifique se tudo está funcionando corretamente.
Passo 5: Monitorando sua Aplicação no Heroku
Após o deploy, é importante monitorar a performance e o estado da aplicação. O Heroku oferece várias ferramentas de monitoramento, como logs e métricas, para garantir que a aplicação esteja funcionando bem.
5.1 Visualizando os Logs
Você pode visualizar os logs da sua aplicação com o comando:
heroku logs --tail
Isso permite que você acompanhe os logs em tempo real e identifique possíveis erros ou problemas de desempenho.
Dicas Finais para Realizar Deploy de Aplicações Rails no Heroku
- Use o Heroku Pipelines: Para ambientes de desenvolvimento, homologação e produção, o Heroku Pipelines pode ajudar a automatizar o fluxo de deploy.
- Gerenciamento de Configurações: Utilize o
heroku config
para definir variáveis de ambiente importantes. - Escalabilidade: Se sua aplicação crescer, você pode facilmente escalar seus recursos no Heroku usando o comando
heroku ps:scale
.
Esses passos e dicas devem ajudar a realizar deploy de aplicações Rails no Heroku de maneira eficiente, garantindo que sua aplicação esteja pronta para a produção de forma simples e escalável.