コンテンツにスキップ

デプロイ手順書

Knowledge Yard V2 のデプロイ手順について説明します。 本システムはフロントエンド(Azure Static Web Apps)とバックエンド(Azure Functions)で構成されており、それぞれデプロイ方法が異なります。

⚠️ 重要:デプロイ方式の違い

コンポーネント デプロイ方式 トリガー
フロントエンド 自動 (GitHub Actions) main ブランチへのプッシュ
バックエンド 手動 (Azure Functions Core Tools) func コマンドの手動実行

[!WARNING] バックエンドのコードを変更しても、GitHubにプッシュするだけでは本番環境には反映されません。必ず手動でデプロイコマンドを実行する必要があります。


🔧 前提条件

ローカル環境に以下のツールがインストールされている必要があります。

  1. Azure CLI (az)
  2. Azure Functions Core Tools (func)
  3. Python 3.9+ (バックエンド用)
  4. Node.js 20+ (フロントエンド用)

初回のみ、Azureへのログインが必要です:

az login

🚀 バックエンド (API) のデプロイ

バックエンド API (Azure Functions) は、ローカルから手動でデプロイします。

手順

  1. app/api ディレクトリに移動します。 bash cd app/api

  2. デプロイコマンドを実行します。 bash func azure functionapp publish func-kitanihon-rag --python

    これにより、リモートビルドが実行され、Azure上にデプロイされます。所要時間は数分です。

初回セットアップ・トラブルシューティング

CORSの設定

フロントエンドとバックエンドが異なるドメインで動作するため、Function App側でCORS設定が必要です。 ログインができない(404エラーやNetwork Error)場合は、host.jsonallowedOrigins を確認してください。

/* 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 によって自動的にデプロイされます。

手順

  1. コードを変更し、main ブランチにプッシュ(またはマージ)します。
  2. GitHub Actions のワークフロー Azure Static Web Apps CI/CD が自動的に開始されます。
  3. 完了すると、以下のURLに反映されます。
  4. 本番URL: https://lemon-smoke-0135ef100.3.azurestaticapps.net/

ワークフローの状態は Actions タブ から確認できます。


✅ 動作確認

デプロイ完了後、以下の手順で動作を確認してください。

  1. API バージョン確認 bash curl https://func-kitanihon-rag-fchmfwbgfsgzavhb.japaneast-01.azurewebsites.net/api/version JSONレスポンスが返ってくればバックエンドは稼働しています。

  2. ログイン確認 ブラウザでフロントエンドにアクセスし、ログインできることを確認します。