デプロイ手順書¶
Knowledge Yard V2 のデプロイ手順について説明します。 本システムはフロントエンド(Azure Static Web Apps)とバックエンド(Azure Functions)で構成されており、それぞれデプロイ方法が異なります。
⚠️ 重要:デプロイ方式の違い¶
| コンポーネント | デプロイ方式 | トリガー |
|---|---|---|
| フロントエンド | 自動 (GitHub Actions) | main ブランチへのプッシュ |
| バックエンド | 手動 (Azure Functions Core Tools) | func コマンドの手動実行 |
[!WARNING] バックエンドのコードを変更しても、GitHubにプッシュするだけでは本番環境には反映されません。必ず手動でデプロイコマンドを実行する必要があります。
🔧 前提条件¶
ローカル環境に以下のツールがインストールされている必要があります。
- Azure CLI (
az) - Azure Functions Core Tools (
func) - Python 3.9+ (バックエンド用)
- Node.js 20+ (フロントエンド用)
初回のみ、Azureへのログインが必要です:
az login
🚀 バックエンド (API) のデプロイ¶
バックエンド API (Azure Functions) は、ローカルから手動でデプロイします。
手順¶
-
app/apiディレクトリに移動します。bash cd app/api -
デプロイコマンドを実行します。
bash func azure functionapp publish func-kitanihon-rag --pythonこれにより、リモートビルドが実行され、Azure上にデプロイされます。所要時間は数分です。
初回セットアップ・トラブルシューティング¶
CORSの設定¶
フロントエンドとバックエンドが異なるドメインで動作するため、Function App側でCORS設定が必要です。
ログインができない(404エラーやNetwork Error)場合は、host.json の allowedOrigins を確認してください。
/* app/api/host.json */
{
"extensions": {
"http": {
"cors": {
"allowedOrigins": [
"https://lemon-smoke-0135ef100.3.azurestaticapps.net",
"http://localhost:3000"
],
"supportCredentials": true
}
}
}
}
host.jsonを変更した場合は、再度デプロイ (func azure functionapp publish ...) が必要です。
🌐 フロントエンド (Web) のデプロイ¶
フロントエンドは GitHub Actions によって自動的にデプロイされます。
手順¶
- コードを変更し、
mainブランチにプッシュ(またはマージ)します。 - GitHub Actions のワークフロー
Azure Static Web Apps CI/CDが自動的に開始されます。 - 完了すると、以下のURLに反映されます。
- 本番URL: https://lemon-smoke-0135ef100.3.azurestaticapps.net/
ワークフローの状態は Actions タブ から確認できます。
✅ 動作確認¶
デプロイ完了後、以下の手順で動作を確認してください。
-
API バージョン確認
bash curl https://func-kitanihon-rag-fchmfwbgfsgzavhb.japaneast-01.azurewebsites.net/api/versionJSONレスポンスが返ってくればバックエンドは稼働しています。 -
ログイン確認 ブラウザでフロントエンドにアクセスし、ログインできることを確認します。