mcpField
P
python-appservice-deploy

python-appservice-deploy

github.com/microsoftクラウド・DevOps1.6k232.4k 回インストール今日更新
リポジトリ

python-appservice-deploy について

Flask、Django、FastAPIなどのPythonアプリをAzure App Service Linuxにデプロイするスキルです。必要なAzureリソースを作成し、プロジェクトに応じて起動設定とデプロイ方法を選びます。

主な機能

  1. 01Python Webフレームワークの検出
  2. 02App Serviceリソースの作成
  3. 03アプリの起動コマンド設定
  4. 04azdまたはAzure CLIでのデプロイ

活用シーン

  1. 01Python WebアプリのAzure公開
  2. 02FlaskやDjangoのデプロイ設定
  3. 03FastAPIアプリのデプロイ
  4. 04新規アプリ用App Serviceリソースの作成

MCP 対応

Azure MCPツールでサブスクリプションとリソースグループを一覧し、App Serviceを管理します。azure.yamlがある場合はazd MCPツールも使用します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/microsoft/azure-skills --skill python-appservice-deploy

インストール後、Claude Code で/python-appservice-deployを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
create-app.md
deploy-azcli.md
deploy-azd.md
detect.md
errors.md
post-deploy-message.md
startup-commands.md
transient-retry.md
scripts/
generate-app-name.ps1
generate-app-name.sh
retry-az-create.ps1
retry-az-create.sh

詳細

Azure App Service 上の Python — コードのデプロイ

Python(Flask、Django、FastAPI、汎用)のコードを Azure App Service Linux(P0v3、Python 3.14)にデプロイします。存在しない場合は RG、Plan、Web App を作成します。VNet、Key Vault、データベース、または IaC が必要な場合は、azure-prepare に引き継ぎます。

使用する MCP ツール:mcp_azure_mcp_subscription_list、mcp_azure_mcp_group_list、mcp_azure_mcp_appservice、mcp_azure_mcp_azd(azure.yaml が存在する場合)。

ワークフロー

  1. コンテキストの解決 — スマートなデフォルト値で、プロンプトは最小限にします。 対話形式で指定するのはアプリ名のみです。RG(<app>-rg)、Plan(<app>-plan)、リージョン(現在の az のデフォルト値、または eastus2)、サブスクリプションはそこから決定されます。create-app.md §1。
  2. フレームワークを検出します(参考情報として扱い、処理をブロックしません)。detect.md。
  3. デプロイ方法を選択します — azure.yaml の host が appservice の場合は deploy-azd.md、それ以外は deploy-azcli.md。
  4. RG → Plan(P0v3 --is-linux)→ Web App(--runtime "PYTHON:3.14") が存在することを確認します。一時的な ARM エラーが発生した場合は、transient-retry.md に従います。create-app.md。
  5. 起動設定を行います — Flask/Django:なし(Oryx が自動検出します)。FastAPI:常に python -m uvicorn main:app --host 0.0.0.0。その他:警告します。startup-commands.md。
  6. SCM_DO_BUILD_DURING_DEPLOYMENT=true を設定します。
  7. デプロイします — azd deploy または az webapp deploy --type zip --track-status false。
  8. 停止します。デプロイ後のメッセージを出力(post-deploy-message.md)して、ターンを終了します。
厳守事項
  • ⛔ デプロイ後の検証は禁止 — デプロイが完了した後は、az webapp log tail、curl、Invoke-WebRequest、またはヘルスプローブを実行しないでください。App Service の起動には 2~3 分かかります。ログに何も表示されないことや、初期の 5xx は失敗を意味しません。
  • ⛔ シェルの安全性 — --runtime には必ず "PYTHON:3.14"(コロン)を使用してください。"PYTHON|3.14" は使用しないでください(パイプはシェル演算子です)。
  • ⛔ az webapp up は絶対に使用しないでください — 非推奨です。ステップ 7 のコマンドを使用してください。
  • ✅ URL 形式 — エンドポイントは https://... の URL 形式で提示してください。

エラー処理

症状 → 原因 → 修正の一覧は errors.md を参照してください。簡単な切り分け:plan/app が見つからない → ステップ 4 を再実行します。8000 でコンテナーの ping がタイムアウトする → 起動設定を修正します(ステップ 5)。デプロイ後に ModuleNotFoundError が発生する → ステップ 6 が実行されたことを確認し、再デプロイします。

コメント