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:
- A regra
runé obrigatória; a Stackhero irá executá-la automaticamente durante a implementação. Mantenha este nome, pois serve como ponto de entrada. - Os comandos utilizam
rakeebundle, mas pode adaptá-los conforme as necessidades da sua aplicação. - 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á:
- Pré-compilar os assets como JavaScript e CSS para o diretório
public/assets. - Executar as migrações de base de dados necessárias.
- Iniciar o servidor Puma para servir a sua aplicação.