Python: 本番環境へのデプロイ
数分でPythonコードを本番環境にデプロイする方法
👋 Stackhero ドキュメントへようこそ!
Stackhero は、デプロイ作業を効率化するために設計された、すぐに使える Python クラウド ソリューションを提供しています:
- シンプルな
git pushだけで、数秒でアプリケーションを本番環境にデプロイできます。- ご自身のドメイン名を利用可能で、HTTPS 証明書の自動設定により安全な接続も自動で管理されます。
- 自動バックアップ、ワンクリックアップデート、予測可能な料金体系により、インフラ管理ではなくコードに集中できます。
- プライベートかつ専用インフラ上で、強力なパフォーマンスとセキュリティを実現。お客様の環境は分離され、保護されています。
時間を節約し、ワークフローをシンプルに: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ブランチ・タグ・コミットからのデプロイや、複数環境(ステージング・本番)の管理、環境変数の利用方法なども解説しています。
また、何か問題が発生した場合は、いつでも「トラブルシューティング」ドキュメントをご活用ください。迅速な復旧に役立ちます。