Python: Stackheroデプロイ用Makefileの作成

このドキュメントは本番環境へのデプロイガイドの一部です。完全なガイドはこちらからご覧いただけます:数分でPythonコードを本番環境にデプロイする方法

👋 Stackhero ドキュメントへようこそ!

Stackhero は、デプロイ作業を効率化するために設計された、すぐに使える Python クラウド ソリューションを提供しています:

  • シンプルな git push だけで、数秒でアプリケーションを本番環境にデプロイできます。
  • ご自身のドメイン名を利用可能で、HTTPS 証明書の自動設定により安全な接続も自動で管理されます。
  • 自動バックアップワンクリックアップデート予測可能な料金体系により、インフラ管理ではなくコードに集中できます。
  • プライベートかつ専用インフラ上で、強力なパフォーマンスセキュリティを実現。お客様の環境は分離され、保護されています。

時間を節約し、ワークフローをシンプルに:Stackhero の Python クラウドホスティング なら、わずか 5分でコードを稼働させることができます。

Stackheroにアプリケーションの起動方法を伝えるため、プロジェクトのルートディレクトリに Makefile を用意します。

Makefilemake コマンドに不慣れな方もご安心ください。以下の手順通りに進めてください。

プロジェクトのルートに、以下の内容で Makefile を作成します:

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

このMakefileについて注意すべき点は以下の通りです:

  1. run ルールは必須です。Stackheroが自動的に実行するため、名前を変更しないでください。
  2. gunicorn app:app -b 0.0.0.0:8080 --error-logfile - は一例です。ご自身のアプリケーションに合わせて調整してください。
  3. gunicornコマンドの行頭は必ずタブ文字で始めてください。"*** missing separator" というエラーが出る場合は、タブが抜けている可能性があります。

この例では、Gunicornでアプリケーションを起動しています(requirements.txt にGunicornが含まれていることをご確認ください)。-b 0.0.0.0:8080 は全てのインターフェースの8080ポートで待ち受けることを意味します。別のポートを使用する場合は、StackheroダッシュボードのPythonサービス設定も合わせて変更してください。app:appapp.py 内の app オブジェクトを指します。