Python: 本番環境へのデプロイ
数分でPythonコードを本番環境にデプロイする方法
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供するPythonクラウドソリューションを提供しています。主な利点は以下の通りです:
- シンプルな
git pushでアプリケーションを数秒でデプロイ。- 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受。
- 自動バックアップ、ワンクリックアップデート、そしてシンプルで透明性のある予測可能な価格設定で安心を提供。
- プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティを実現。
時間を節約し、生活を簡素化: StackheroのPythonクラウドホスティングソリューションを試すのに5分しかかかりません!
StackheroのPythonクラウドホスティングサービスは、Pythonプロジェクトをわずか数分で本番環境にデプロイできる、シンプルかつ信頼性の高い方法を提供します。直感的なセットアップと堅牢な機能により、インフラの細かな管理はStackheroに任せて、アプリケーション開発に集中できます。
主な特徴は以下の通りです:
- シンプルな
git pushでのデプロイ - カスタムドメインと自動TLS証明書管理(HTTPS)
- セキュリティと機密性を高める専用・プライベートVM
- HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIP & Brotli圧縮、ETag、TCP/UDPポートアクセスのサポート
前提条件
Stackheroを利用する前に、お使いのPCにGitがインストールされていることをご確認ください。
まだ開発環境が整っていない場合や、セットアップの手間を省きたい場合は、StackheroのCode-Heroをお試しください。
Code-Heroは、ブラウザ上で動作する、すぐに使える開発プラットフォームです。PC、タブレット、スマートフォンのいずれからでも利用可能です。VSCodeをベースにしたCode-Heroには、主要な開発ツールがあらかじめインストールされているため、追加のセットアップなしですぐにコーディングを始められます。
ブラウザ上で直接動作するCode-Heroインスタンスの例
Stackheroへのデプロイ手順
StackheroへのPythonアプリケーションのデプロイは、シンプルかつスムーズに設計されています。以下の手順で進めてください:
- StackheroでPythonサービスを作成します。
- ご自身のSSH公開鍵をPythonサービスの設定に追加します。
- 開発環境で
git pushコマンドを設定します。 - プロジェクトにMakefileを追加します。
- コードを本番環境にデプロイします。
デプロイ時に問題が発生した場合は、「トラブルシューティング」ドキュメントに多くの解決策が掲載されています。まずそちらを確認することで、無駄な時間やストレスを避けられます。
「Stackhero for Python」サービスの設定
Stackhero for Pythonサービスをまだ開始していない場合は、Stackheroダッシュボードから新規作成できます。通常、数分で準備が完了します。
Pythonサービスが稼働したら、SSH公開鍵をサービスの設定に追加する必要があります。公開鍵は以下のコマンドで表示できます:
cat ~/.ssh/id_*.pub
まだSSH鍵をお持ちでない場合
以下のコマンドで生成できます:
ssh-keygen -t ed25519
公開鍵をPythonサービスに追加するには:
- Stackheroダッシュボードを開き、Pythonサービスを選択します。
- 「設定」ボタンをクリックします。
- 「SSH公開鍵」セクションに、ご自身のSSH公開鍵を貼り付けます。
Pythonサービス設定例
ヒント:SSH公開鍵はグローバル設定も可能です。グローバルに設定すると、新規サービス作成時に自動で公開鍵が追加されます。設定するには、Stackheroダッシュボード右上のプロフィール画像をクリックし、「プロフィール」を選択してSSH公開鍵を追加してください。
デプロイ用 git push コマンドの設定
Stackheroでは、Git CLIとおなじみの git push コマンドを使って簡単にデプロイできます。追加ソフトウェアのインストールは不要で、一度Gitリモートを設定すればすぐに利用可能です。
ご自身の git remote command は、Stackheroダッシュボードのサービスメインページに表示されています。以下のような形式です:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
Stackheroダッシュボード上のPython Gitリモートコマンド
Stackheroデプロイ用Makefileの作成
Stackheroにアプリケーションの起動方法を伝えるため、プロジェクトのルートディレクトリに Makefile を用意します。
Makefileやmakeコマンドに不慣れな方もご安心ください。以下の手順通りに進めてください。
プロジェクトのルートに、以下の内容で Makefile を作成します:
run:
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -
このMakefileについて注意すべき点は以下の通りです:
runルールは必須です。Stackheroが自動的に実行するため、名前を変更しないでください。gunicorn app:app -b 0.0.0.0:8080 --error-logfile -は一例です。ご自身のアプリケーションに合わせて調整してください。- gunicornコマンドの行頭は必ずタブ文字で始めてください。"*** missing separator" というエラーが出る場合は、タブが抜けている可能性があります。
この例では、Gunicornでアプリケーションを起動しています(requirements.txt にGunicornが含まれていることをご確認ください)。-b 0.0.0.0:8080 は全てのインターフェースの8080ポートで待ち受けることを意味します。別のポートを使用する場合は、StackheroダッシュボードのPythonサービス設定も合わせて変更してください。app:app は app.py 内の app オブジェクトを指します。
Pythonアプリケーションのデプロイ
すべての準備が整ったら、いよいよデプロイです。プロジェクトディレクトリで以下のコマンドを実行して、Stackheroにコードをプッシュします:
git push stackhero main
初回実行時は、SSH鍵のフィンガープリント確認を求められますので、「yes」と入力してください。数秒でアプリケーションが公開されます。
git push コマンドでStackheroにPythonコードをデプロイする例
デプロイしたアプリケーションは、Stackheroダッシュボードに表示されている「website」URL(通常は https://<XXXXXX>.stackhero-network.com の形式)からアクセスできます。
これで、アプリケーションが本番環境で稼働開始となります。
デプロイ時に問題が発生していますか?
トラブルシューティング セクションには、迅速な問題解決に役立つ情報が多数掲載されています。
まとめ
このガイドが、StackheroでPythonコードを本番環境にデプロイする際の参考になれば幸いです。この基盤を活用して、安心してプロジェクトを公開してください。
さらに詳しく知りたい方は、「高度なデプロイ活用法」ドキュメントをご覧ください。異なるgitブランチ・タグ・コミットからのデプロイや、複数環境(ステージング・本番)の管理、環境変数の利用方法なども解説しています。
また、何か問題が発生した場合は、いつでも「トラブルシューティング」ドキュメントをご活用ください。迅速な復旧に役立ちます。