fix oauth package name
This commit is contained in:
178
oauth/DEPLOYMENT.md
Normal file
178
oauth/DEPLOYMENT.md
Normal file
@ -0,0 +1,178 @@
|
||||
# 本番環境デプロイメント手順
|
||||
|
||||
## 本番環境用の調整
|
||||
|
||||
### 1. テスト機能の削除・無効化
|
||||
|
||||
本番環境では以下の調整が必要です:
|
||||
|
||||
#### A. TestUI コンポーネントの削除
|
||||
```jsx
|
||||
// src/App.jsx から以下を削除/コメントアウト
|
||||
import TestUI from './components/TestUI.jsx'
|
||||
const [showTestUI, setShowTestUI] = useState(false)
|
||||
|
||||
// ボトムセクションからTestUIを削除
|
||||
{showTestUI && (
|
||||
<TestUI />
|
||||
)}
|
||||
<button
|
||||
onClick={() => setShowTestUI(!showTestUI)}
|
||||
className={`btn ${showTestUI ? 'btn-danger' : 'btn-outline'} btn-sm`}
|
||||
>
|
||||
{showTestUI ? 'close test' : 'test'}
|
||||
</button>
|
||||
```
|
||||
|
||||
#### B. ログ出力の完全無効化
|
||||
現在は `logger.js` で開発環境のみログが有効になっていますが、完全に確実にするため:
|
||||
|
||||
```bash
|
||||
# 本番ビルド前に全てのconsole.logを確認
|
||||
grep -r "console\." src/ --exclude-dir=node_modules
|
||||
```
|
||||
|
||||
### 2. 環境変数の設定
|
||||
|
||||
#### 本番用 .env.production
|
||||
```bash
|
||||
VITE_ATPROTO_PDS=syu.is
|
||||
VITE_ADMIN_HANDLE=ai.syui.ai
|
||||
VITE_AI_HANDLE=ai.syui.ai
|
||||
VITE_OAUTH_COLLECTION=ai.syui.log
|
||||
```
|
||||
|
||||
### 3. ビルドコマンド
|
||||
|
||||
```bash
|
||||
# 本番用ビルド
|
||||
npm run build
|
||||
|
||||
# 生成されるファイル確認
|
||||
ls -la dist/
|
||||
```
|
||||
|
||||
### 4. デプロイ用ファイル構成
|
||||
|
||||
```
|
||||
dist/
|
||||
├── index.html # 最小化HTML
|
||||
├── assets/
|
||||
│ ├── comment-atproto-[hash].js # メインJSバンドル
|
||||
│ └── comment-atproto-[hash].css # CSS
|
||||
```
|
||||
|
||||
### 5. ailog サイトへの統合
|
||||
|
||||
#### A. アセットファイルのコピー
|
||||
```bash
|
||||
# distファイルをailogサイトの適切な場所にコピー
|
||||
cp dist/assets/* /path/to/ailog/static/assets/
|
||||
cp dist/index.html /path/to/ailog/templates/oauth-assets.html
|
||||
```
|
||||
|
||||
#### B. ailog テンプレートでの読み込み
|
||||
```html
|
||||
<!-- ailog のテンプレートに追加 -->
|
||||
{{ if .Site.Params.oauth_comments }}
|
||||
{{ partial "oauth-assets.html" . }}
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
### 6. 本番環境チェックリスト
|
||||
|
||||
#### ✅ セキュリティ
|
||||
- [ ] OAuth認証のリダイレクトURL確認
|
||||
- [ ] 環境変数の機密情報確認
|
||||
- [ ] HTTPS通信確認
|
||||
|
||||
#### ✅ パフォーマンス
|
||||
- [ ] バンドルサイズ確認(現在1.2MB)
|
||||
- [ ] ファイル圧縮確認
|
||||
- [ ] キャッシュ設定確認
|
||||
|
||||
#### ✅ 機能
|
||||
- [ ] 本番PDS接続確認
|
||||
- [ ] OAuth認証フロー確認
|
||||
- [ ] コメント投稿・表示確認
|
||||
- [ ] アバター表示確認
|
||||
|
||||
#### ✅ UI/UX
|
||||
- [ ] モバイル表示確認
|
||||
- [ ] アクセシビリティ確認
|
||||
- [ ] エラーハンドリング確認
|
||||
|
||||
### 7. 段階的デプロイ戦略
|
||||
|
||||
#### Phase 1: テスト環境
|
||||
```bash
|
||||
# テスト用のサブドメインでデプロイ
|
||||
# test.syui.ai など
|
||||
```
|
||||
|
||||
#### Phase 2: 本番環境
|
||||
```bash
|
||||
# 問題なければ本番環境にデプロイ
|
||||
# ailog本体に統合
|
||||
```
|
||||
|
||||
### 8. トラブルシューティング
|
||||
|
||||
#### よくある問題
|
||||
1. **OAuth認証エラー**: リダイレクトURL設定確認
|
||||
2. **PDS接続エラー**: ネットワーク・DNS設定確認
|
||||
3. **アバター表示エラー**: CORS設定確認
|
||||
4. **CSS競合**: oauth-プレフィックス確認
|
||||
|
||||
#### ログ確認方法
|
||||
```bash
|
||||
# 本番環境でエラーが発生した場合
|
||||
# ブラウザのDevToolsでエラー確認
|
||||
# logger.jsは本番では無効化されている
|
||||
```
|
||||
|
||||
### 9. 本番用設定ファイル
|
||||
|
||||
```bash
|
||||
# ~/.config/syui/ai/log/config.json
|
||||
{
|
||||
"oauth": {
|
||||
"environment": "production",
|
||||
"debug": false,
|
||||
"test_mode": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 10. 推奨デプロイ手順
|
||||
|
||||
```bash
|
||||
# 1. テスト機能削除
|
||||
git checkout -b production-ready
|
||||
# App.jsx からTestUI関連を削除
|
||||
|
||||
# 2. 本番ビルド
|
||||
npm run build
|
||||
|
||||
# 3. ファイル確認
|
||||
ls -la dist/
|
||||
|
||||
# 4. ailogサイトに統合
|
||||
cp dist/assets/* ../my-blog/static/assets/
|
||||
cp dist/index.html ../my-blog/templates/oauth-assets.html
|
||||
|
||||
# 5. ailogサイトでテスト
|
||||
cd ../my-blog
|
||||
hugo server
|
||||
|
||||
# 6. 問題なければcommit
|
||||
git add .
|
||||
git commit -m "Production build: Remove test UI, optimize for deployment"
|
||||
```
|
||||
|
||||
## 注意事項
|
||||
|
||||
- TestUIは開発・デモ用のため本番では削除必須
|
||||
- loggerは自動で本番では無効化される
|
||||
- OAuth設定は本番PDS用に調整必要
|
||||
- バンドルサイズが大きいため今後最適化検討
|
Reference in New Issue
Block a user