socai サイト デプロイメント
このスキルは、socai Webサイトのデプロイ、Vercel設定、socai.io、www.socai.io、/download、/github、またはPRプレビューデプロイに関連するタスクがある場合に使用します。
このスキルは、デプロイメントランブックの信頼できる情報源です。../../../docs/website-deployment.mdは意図的に簡潔に保たれており、重複する手順のずれを避けるためにここを参照するよう指示しています。
プロジェクトコンテキスト
- ウェブサイトソース:
site/ - フレームワーク: Astro 静的サイト
- Vercel チーム/スコープ:
socai-d83824c8(socai) - Vercel プロジェクト:
socai-site - 本番ドメイン:
https://socai.io - ドキュメンテーションルート:
https://socai.io/docs/(AstroサイトでビルドされたStarlightページ) - 正規ホスト:
socai.io wwwの動作:https://www.socai.io/*はhttps://socai.io/*に 308/リダイレクトする必要があります- ダウンロードルート:
https://socai.io/downloadは、socai OSSリリースミラー上の最新のユニバーサルmacOS DMGにリダイレクトします - GitHubルート:
https://socai.io/githubはhttps://github.com/socai-io/socaiにリダイレクトします
期待される Vercel プロジェクト設定:
| 設定 | 値 |
|---|---|
| フレームワークプリセット | Astro |
| ルートディレクトリ | site |
| インストールコマンド | pnpm install |
| ビルドコマンド | pnpm build |
| 出力ディレクトリ | dist |
| Node.js バージョン | 24.x |
安全ルール
- すべての Vercel プロジェクト/ドメインコマンドには
socai-d83824c8スコープを使用してください。 - 間違った Vercel チームや個人のプロジェクトからデプロイしないでください。
site/.vercel/、site/dist/、site/.astro/、site/node_modules/をコミットしないでください。- ユーザーが明示的に承認しない限り、アナリティクスを有効にしないでください。
- ウェブサイトデプロイ作業中にアプリリリースアセットを編集しないでください。
- Issue作業は専用ブランチで行い、リポジトリの変更にはPRを開く/更新してください。
- 手動デプロイのために一時的に Vercel プロジェクト設定を変更した場合は、終了前に元に戻してください。
ローカル検証
デプロイ前、またはデプロイ関連のコード/設定のPRを開く前に:
cd site
pnpm install
pnpm build
JSON/XML 設定を変更した場合は検証:
python3 -m json.tool site/vercel.json >/dev/null
python3 -m json.tool site/public/site.webmanifest >/dev/null
python3 - <<'PY'
import xml.etree.ElementTree as ET
ET.parse('site/dist/sitemap-index.xml')
ET.parse('site/dist/sitemap-0.xml')
PY
Vercel 状態の確認
vercel whoami
vercel teams ls
vercel projects ls --scope socai-d83824c8
vercel project inspect socai-site --scope socai-d83824c8 --yes
vercel domains inspect socai.io --scope socai-d83824c8
vercel domains inspect www.socai.io --scope socai-d83824c8
プロジェクト設定でルートディレクトリ site、フレームワーク Astro、ビルドコマンド pnpm build、出力 dist、インストール pnpm install が設定されていることを確認します。
推奨される本番デプロイメント
Git統合が有効になった後の推奨パス:
- ウェブサイトの変更を
mainにマージします。 - Vercel にルートディレクトリ
siteからsocai-siteプロジェクトをビルドさせます。 - 以下のコマンドで本番 URL を確認します。
PRプレビューも、Vercel ダッシュボードで Git 統合が接続されている必要があります。
緊急/手動 CLI 本番デプロイメント
Vercel プロジェクトがルートディレクトリ site で設定されているため、site/ からの直接のローカルデプロイは site/site ルートディレクトリエラーで失敗する可能性があります。Git 統合が利用できず、CLI デプロイが必要な場合は、この一時的なルート回避策を使用し、その後ルートディレクトリを復元します。
set -euo pipefail
cat > /tmp/vercel-root-null.json <<'EOF'
{
"rootDirectory": null
}
EOF
cat > /tmp/vercel-root-site.json <<'EOF'
{
"rootDirectory": "site"
}
EOF
restore_root() {
vercel api /v10/projects/socai-site \
--scope socai-d83824c8 \
-X PATCH \
--input /tmp/vercel-root-site.json \
--silent || true
}
trap restore_root EXIT
vercel api /v10/projects/socai-site \
--scope socai-d83824c8 \
-X PATCH \
--input /tmp/vercel-root-null.json \
--silent
cd site
vercel deploy --prod --scope socai-d83824c8 --project socai-site --yes
デプロイ後、ルートディレクトリが復元されたことを確認:
vercel project inspect socai-site --scope socai-d83824c8 --yes
プロジェクトを Root Directory . または null のままにしないでください。Gitプレビューは site に依存しています。
URL 検証
最初に HEAD チェックを使用:
curl -I https://socai.io/
curl -I https://socai.io/docs/
curl -I https://socai.io/docs/quickstart/
curl -I https://www.socai.io/
curl -I https://socai.io/sitemap.xml
curl -I https://socai.io/sitemap-index.xml
curl -I https://socai.io/download
curl -I https://socai.io/github
期待される最初のホップの動作:
https://socai.io/は200を返します。https://socai.io/docs/は200を返し、/docs/quickstart/などのネストされたページも200を返します。https://www.socai.io/は308とlocation: https://socai.io/を返します。https://socai.io/sitemap.xmlは/sitemap-index.xmlに恒久的にリダイレクトし、200を返します。https://socai.io/downloadは、設定されたOSSリリースミラー上の最新のユニバーサルmacOS DMGへの Vercel リダイレクト (307) を返します。https://socai.io/githubはhttps://github.com/socai-io/socaiへの Vercel リダイレクト (307) を返します。
チェーンを追跡したい場合のみ -L を使用:
curl -I -L --max-time 30 -o /dev/null -w 'code=%{http_code}\nfinal=%{url_effective}\n' https://socai.io/download
Git プレビュー設定
試行:
cd site
vercel link --yes --scope socai-d83824c8 --project socai-site
vercel git connect https://github.com/socai-io/socai --scope socai-d83824c8
Vercel が次のように返した場合:
Failed to link socai-io/socai. You need to add a Login Connection to your GitHub account first.
その場合、Vercel/GitHub アカウントの所有者が Vercel ダッシュボードで GitHub ログイン/統合を接続し、その後 socai-site をルートディレクトリ site で socai-io/socai に接続する必要があります。
トラブルシューティング
マルチコミットプッシュ後にウェブサイトの変更がスキップされる
site/vercel.json の無視ビルドステップは、HEAD を HEAD^ ではなく VERCEL_GIT_PREVIOUS_SHA (このプロジェクトとブランチの最後に成功したデプロイメント) と比較する必要があります。プッシュの最後のコミットは Rust コードのみを変更し、それ以前のコミットがウェブサイトを変更する可能性があります。以前のデプロイメント SHA が不足しているか、シャロークローンで利用できない場合は、スキップせずにビルドします。終了コード0はビルドをスキップし、1は続行します。
ルートディレクトリ "site" が存在しません
これは通常、リモートプロジェクトのルートディレクトリも site である場合に、site/ からローカル CLI デプロイを実行すると発生します。上記の緊急/手動 CLI デプロイ回避策を使用するか、Git デプロイを優先してください。
アップロードされるファイルが多すぎる
リポジトリルートからデプロイすると、Rust/Python ビルドアーティファクトが含まれ、Vercel のファイル数を超える可能性があります。テスト済みの無視/アーカイブ戦略がない限り、リポジトリルートを直接デプロイしないでください。Git デプロイまたは一時的なルートリセットを使用した site/ からの緊急/手動デプロイを優先してください。
www.socai.io がリダイレクトではなく 200 を返す
最新の本番デプロイメントに site/vercel.json のホストリダイレクトが含まれていることを確認し、再デプロイします。以下で確認:
curl -I https://www.socai.io/
GitHub 最新リリースメタデータが利用できない
ウェブサイトは引き続き一般的な非古いコピー(latest release)を表示し、/download は引き続き GitHub の最新リリースアセットにリダイレクトする必要があります。
報告
デプロイメントタスクを報告する際は、以下を含めてください:
- ブランチ/PR (リポジトリファイルが変更された場合)
- 確認された Vercel プロジェクト設定
- デプロイメント URL と本番ドメイン
- 実行したコマンド
/、/docs/、/docs/quickstart/、www、/download、/githubの検証出力の概要- 残っている手動ブロッカー、特に Git 統合 / PR プレビュー