Community코딩 & 개발github.com

microsoft/python-appservice-deploy

Python(Flask/Django/FastAPI) 코드를 Azure App Service Linux에 배포합니다. WHEN: "Flask App Service", "Django App Service", "FastAPI App Service", "deploy Python to App Service". Container Apps, Functions, 비Python, Terraform/Bicep/IaC, 전체 인프라에는 사용하지 마십시오. — azure-prepare를 사용하세요.

python-appservice-deploy란 무엇인가요?

이 스킬은 Python 웹 애플리케이션(Flask, Django, FastAPI, 일반)을 Azure App Service Linux(P0v3, Python 3.14)에 배포하는 전문 기술입니다. 리소스 그룹, App Service Plan, 웹 앱이 없으면 자동으로 생성하며, 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이 있을 때와 없을 때 각각 azd deploy 또는 az webapp deploy 명령으로 배포합니다. 배포 후 상태 확인(az webapp log tail, curl 등)은 금지되며, App Service의 웜업 시간(2-3분)을 존중해야 합니다. FastAPI의 경우 startup 명령어를 수동으로 설정해야 하며, Flask/Django는 Oryx가 자동 감지합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/microsoft/azure-skills/tree/main/skills/python-appservice-deploy

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Python on Azure App Service — 코드 배포

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. Startup 설정 — 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 타임아웃 → startup 수정(5단계); 배포 후 ModuleNotFoundError → 6단계 실행 여부 확인 후 재배포.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

microsoft/airunway-aks-setup

Agent skill 'airunway-aks-setup' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/appinsights-instrumentation

Agent skill 'appinsights-instrumentation' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-ai

Agent skill 'azure-ai' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-aigateway

Agent skill 'azure-aigateway' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-app-onboard

Agent skill 'azure-app-onboard' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-app-onboard-prereq

Assess whether source code is ready to deploy to Azure — the check BEFORE infrastructure work. Evaluates build health, app completeness, dependencies and local services, stack compatibility, and deployment feasibility. Answers questions about what your app needs before it can be deployed — frameworks, dependencies, and configuration. Checks whether dependencies are compatible and identifies deployment blockers and unsupported frameworks. WHEN: \"evaluate my repo\", \"is my app ready to deploy\", \"what does my app need to deploy\", \"what do I need before deploying\", \"does my app need\", \"can I ship this to Azure\", \"scan my repo for issues\", \"is this app deployable\", \"check if my app is ready for Azure\", \"do I need a Dockerfile\", \"what's blocking my deployment\", \"are there any blockers\", \"are my dependencies compatible\", \"does Azure support my framework\", \"what needs to change before deploying\", \"check my app configuration\".

microsoft/azure-cloud-migrate

Agent skill 'azure-cloud-migrate' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-compliance

Agent skill 'azure-compliance' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-compute

Agent skill 'azure-compute' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-cost

Agent skill 'azure-cost' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-cost-optimization

Identify Azure cost savings from usage and spending data. USE FOR: optimize Azure costs, reduce Azure spending/expenses, analyze Azure costs, find cost savings, generate cost optimization report, identify orphaned resources to delete, rightsize VMs, reduce waste, optimize Redis costs, optimize storage costs, AKS cost analysis add-on, namespace cost, cost spike, anomaly, budget alert, AKS cost visibility. DO NOT USE FOR: deploying resources (use azure-deploy), general Azure diagnostics (use azure-diagnostics), security issues (use azure-security)

microsoft/azure-deploy

Agent skill 'azure-deploy' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-diagnostics

Agent skill 'azure-diagnostics' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-enterprise-infra-planner

Agent skill 'azure-enterprise-infra-planner' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-hosted-copilot-sdk

Build, deploy, and modify GitHub Copilot SDK apps on Azure. MANDATORY when codebase contains @github/copilot-sdk or CopilotClient in package.json. PREFER OVER azure-prepare when copilot-sdk markers detected. WHEN: copilot SDK, @github/copilot-sdk, copilot-powered app, build copilot app, prepare copilot app, add feature to copilot app, modify copilot app, BYOM, bring your own model, CopilotClient, createSession, sendAndWait, azd init copilot. DO NOT USE FOR: deploying already-prepared copilot-sdk apps (use azure-deploy), general web apps without copilot SDK (use azure-prepare), Copilot Extensions, Foundry agents (use microsoft-foundry).

microsoft/azure-kubernetes

Agent skill 'azure-kubernetes' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-kusto

Agent skill 'azure-kusto' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-messaging

Agent skill 'azure-messaging' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-observability

Azure Observability Services including Azure Monitor, Application Insights, Log Analytics, Alerts, and Workbooks. Provides metrics, APM, distributed tracing, KQL queries, and interactive reports. USE FOR: Azure Monitor, Application Insights, Log Analytics, Alerts, Workbooks, metrics, APM, distributed tracing, KQL queries, interactive reports, observability, monitoring dashboards. DO NOT USE FOR: instrumenting apps with App Insights SDK (use appinsights-instrumentation), querying Kusto/ADX clusters (use azure-kusto), cost analysis (use azure-cost-optimization).

microsoft/azure-postgres

azure-postgres — an installable skill for AI agents.

관련 스킬