コンテンツにスキップ

Vendure本番デプロイ未完了

作成日: 2025-01-XX
優先度: 🚨 高優先度
ステータス: 🔄 進行中
担当: (未割り当て)

📌 概要

Vendureサーバーがまだ本番環境にデプロイできていない状態です。開発環境では動作しているが、本番環境へのデプロイが完了していません。

🎯 目的

Vendureサーバーを本番環境(Fly.io)に正常にデプロイし、本番環境で安定稼働させること。

📋 現状

✅ 完了済み

  • 開発環境でのVendureサーバー動作確認(localhost:4000)
  • PostgreSQL統合(73テーブル自動構築完了)
  • GraphQL API稼働(Admin API & Shop API)
  • Fly.io設定ファイル準備(apps/vendure-server/fly.toml
  • デプロイスクリプト準備(apps/vendure-server/scripts/fly-deploy.sh
  • Dockerfile準備(apps/vendure-server/Dockerfile.fly
  • デプロイメントガイド作成(apps/vendure-server/DEPLOYMENT.md

❌ 未完了

  • 本番環境へのデプロイ実行
  • 本番環境での動作確認
  • 環境変数・シークレット設定
  • ヘルスチェック確認
  • 本番データベース接続確認
  • 本番環境でのパフォーマンステスト

🔍 技術的詳細

デプロイ先

  • プラットフォーム: Fly.io
  • アプリ名: ritsubi-ecommerce
  • リージョン: nrt (Tokyo)
  • URL: https://ritsubi-ecommerce.fly.dev (予定)

必要な環境変数

以下の環境変数がFly.ioシークレットとして設定されている必要があります:

  • DATABASE_URL - PostgreSQL接続文字列
  • SESSION_SECRET - セッション暗号化キー
  • COOKIE_SECRET - Cookie暗号化キー
  • ADMIN_EMAIL - 管理者メールアドレス
  • ADMIN_PASSWORD - 管理者パスワード
  • SMTP_HOST, SMTP_USER, SMTP_PASSWORD - メール送信設定
  • R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_BUCKET_NAME - Cloudflare R2設定
  • (その他、必要に応じて)

デプロイコマンド

# 本番環境へのデプロイ
cd apps/vendure-server
pnpm run deploy:production

# または直接flyctlを使用
flyctl deploy --config fly.toml -a ritsubi-ecommerce

✅ 完了条件

  • Fly.ioアプリケーションが正常にデプロイされている
  • ヘルスチェックエンドポイント(/health)が200を返す
  • GraphQL Admin API(/admin-api)が正常に動作している
  • GraphQL Shop API(/shop-api)が正常に動作している
  • 本番データベースに正常に接続できている
  • 管理者アカウントでログインできる
  • アセットアップロードが正常に動作している(R2連携)
  • 本番環境でのパフォーマンスが許容範囲内である

🔗 関連資料

🚧 ブロッカー・課題

現在のブロッカー

(現在、特定のブロッカーは確認されていません)

想定される課題

  1. 環境変数設定の不足
  2. 必要なシークレットがFly.ioに設定されていない可能性
  3. 解決策: DEPLOYMENT.mdの環境変数リストを確認し、すべて設定する

  4. データベース接続の問題

  5. 本番データベースの接続文字列が正しくない可能性
  6. 解決策: データベース接続文字列を確認し、必要に応じて修正

  7. ビルドエラー

  8. 本番ビルド時にエラーが発生する可能性
  9. 解決策: ローカルでpnpm run build:productionを実行し、エラーを確認

  10. リソース不足

  11. Fly.ioのリソース制限に達している可能性
  12. 解決策: Fly.ioのリソース使用状況を確認

📅 更新履歴

  • 2025-01-XX: Issue作成

📝 メモ

  • デプロイ前に、必ずDEPLOYMENT.mdのチェックリストを確認すること
  • ステージング環境へのデプロイを先に実行し、問題がないことを確認してから本番環境にデプロイすることを推奨
  • デプロイ後は、必ずヘルスチェックと主要エンドポイントの動作確認を行うこと