Python: 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 Python em produção em poucos minutos.

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

Stackhero oferece uma solução cloud Python 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 performance ótima 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 hospedagem cloud Python do Stackhero!

Para indicar à Stackhero como executar a sua aplicação, utilize um Makefile na raiz do seu projeto.

Se não está familiarizado com ficheiros Makefile e o comando make, não se preocupe. Basta seguir estas instruções para começar.

Crie um ficheiro Makefile na raiz do seu projeto com o seguinte conteúdo:

run:
	gunicorn app:app -b 0.0.0.0:8080 --error-logfile -

Há alguns pontos importantes a ter em conta neste Makefile:

  1. A regra run é obrigatória, pois a Stackhero executa-a automaticamente. Não a renomeie.
  2. O comando gunicorn app:app -b 0.0.0.0:8080 --error-logfile - é apenas um exemplo. Certifique-se de o ajustar às necessidades da sua aplicação.
  3. Certifique-se de que inicia o comando gunicorn com um carácter de tabulação. Se vir um erro como "*** missing separator", significa que falta a tabulação.

Neste exemplo, o Gunicorn é utilizado para servir a sua aplicação (certifique-se de que está listado no seu requirements.txt). O argumento -b 0.0.0.0:8080 indica que escuta em todas as interfaces na porta 8080. Se escolher outra porta, terá também de atualizar a configuração do seu serviço Python no dashboard Stackhero. A parte app:app refere-se ao objeto app dentro do seu ficheiro app.py.