Ruby: Criar um Makefile para deployment na Stackhero

Esta documentação faz parte do guia Implementar em produção. Consulte o guia completo aqui: Implemente código Ruby em produção em minutos com a Stackhero.

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

A Stackhero disponibiliza uma solução Ruby cloud pronta a usar, que oferece várias vantagens, 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 maior segurança.
  • Desfrute de backups automáticos, atualizações com um clique e uma estrutura de preços simples, transparente e previsível.
  • Obtenha performance otimizada e segurança reforçada graças a uma infraestrutura privada e dedicada.

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

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

Se não está familiarizado com Makefiles ou com o comando make, os passos abaixo irão guiá-lo na criação de um Makefile funcional.

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

O que faz este Makefile:

  1. A regra run é obrigatória. A Stackhero procura esta regra como ponto de entrada durante o deployment. Mantenha este nome.
  2. O exemplo utiliza rake e bundle, mas pode ajustar estes comandos conforme a sua aplicação.
  3. Cada linha de comando deve começar com um carácter de tabulação, não espaços. Se vir o erro *** missing separator, verifique se está a usar tabs.

No exemplo acima, o deployment irá:

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