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インスタンスの例ブラウザ上で直接動作するCode-Heroインスタンスの例

StackheroへのPythonアプリケーションのデプロイは、シンプルかつスムーズに設計されています。以下の手順で進めてください:

  1. StackheroでPythonサービスを作成します。
  2. ご自身のSSH公開鍵をPythonサービスの設定に追加します。
  3. 開発環境で git push コマンドを設定します。
  4. プロジェクトにMakefileを追加します。
  5. コードを本番環境にデプロイします。

デプロイ時に問題が発生した場合は、「トラブルシューティング」ドキュメントに多くの解決策が掲載されています。まずそちらを確認することで、無駄な時間やストレスを避けられます。

Stackhero for Pythonサービスをまだ開始していない場合は、Stackheroダッシュボードから新規作成できます。通常、数分で準備が完了します。

Pythonサービスが稼働したら、SSH公開鍵をサービスの設定に追加する必要があります。公開鍵は以下のコマンドで表示できます:

cat ~/.ssh/id_*.pub

まだSSH鍵をお持ちでない場合

以下のコマンドで生成できます:

ssh-keygen -t ed25519

公開鍵をPythonサービスに追加するには:

  1. Stackheroダッシュボードを開き、Pythonサービスを選択します。
  2. 「設定」ボタンをクリックします。
  3. 「SSH公開鍵」セクションに、ご自身のSSH公開鍵を貼り付けます。

Pythonサービス設定例Pythonサービス設定例

ヒント:SSH公開鍵はグローバル設定も可能です。グローバルに設定すると、新規サービス作成時に自動で公開鍵が追加されます。設定するには、Stackheroダッシュボード右上のプロフィール画像をクリックし、「プロフィール」を選択してSSH公開鍵を追加してください。

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ダッシュボード上のPython Gitリモートコマンド

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 オブジェクトを指します。

すべての準備が整ったら、いよいよデプロイです。プロジェクトディレクトリで以下のコマンドを実行して、Stackheroにコードをプッシュします:

git push stackhero main

初回実行時は、SSH鍵のフィンガープリント確認を求められますので、「yes」と入力してください。数秒でアプリケーションが公開されます。

git push コマンドでStackheroにPythonコードをデプロイする例git push コマンドでStackheroにPythonコードをデプロイする例

デプロイしたアプリケーションは、Stackheroダッシュボードに表示されている「website」URL(通常は https://<XXXXXX>.stackhero-network.com の形式)からアクセスできます。

これで、アプリケーションが本番環境で稼働開始となります。

デプロイ時に問題が発生していますか?

トラブルシューティング セクションには、迅速な問題解決に役立つ情報が多数掲載されています。

このガイドが、StackheroでPythonコードを本番環境にデプロイする際の参考になれば幸いです。この基盤を活用して、安心してプロジェクトを公開してください。

さらに詳しく知りたい方は、「高度なデプロイ活用法」ドキュメントをご覧ください。異なるgitブランチ・タグ・コミットからのデプロイや、複数環境(ステージング・本番)の管理、環境変数の利用方法なども解説しています。

また、何か問題が発生した場合は、いつでも「トラブルシューティング」ドキュメントをご活用ください。迅速な復旧に役立ちます。