Ruby: Criar um Makefile para a implementação na Stackhero

Esta documentação faz parte do guia Implementar em produção. Consulte o guia completo aqui: Como implementar o seu código Ruby em produção em poucos minutos.

👋 Bem-vindo à documentação do Stackhero!

A Stackhero oferece uma solução Ruby cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Implemente a sua aplicação em segundos com um simples git push.
  • Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para uma segurança reforçada.
  • Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e preços simples, transparentes e previsíveis.
  • Obtenha desempenho ótimo e segurança robusta graças a uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de Ruby cloud hosting da Stackhero!

Para indicar à Stackhero como executar a sua aplicação, deve criar um ficheiro Makefile na raiz do seu projeto. Este ficheiro define os comandos que a Stackhero irá utilizar durante a implementação.

Se não está familiarizado com Makefiles ou com o comando make, não se preocupe, os passos abaixo irão guiá-lo em todo o processo.

Crie um ficheiro Makefile com o seguinte conteúdo:

run:
	rake assets:precompile
	rake db:migrate RAILS_ENV=production
	RAILS_ENV=production bundle exec puma -C config/puma.rb

Eis o que acontece neste Makefile:

  1. A regra run é obrigatória; a Stackhero irá executá-la automaticamente durante a implementação. Mantenha este nome, pois serve como ponto de entrada.
  2. Os comandos utilizam rake e bundle, mas pode adaptá-los conforme as necessidades da sua aplicação.
  3. Certifique-se de que cada linha de comando começa com um carácter de tabulação, e não com espaços. Se vir um erro como *** missing separator, verifique este detalhe no ficheiro.

No exemplo acima, a implementação irá:

  1. Pré-compilar os assets como JavaScript e CSS para o diretório public/assets.
  2. Executar as migrações de base de dados necessárias.
  3. Iniciar o servidor Puma para servir a sua aplicação.