デプロイ手順
Speakeasy のデプロイは GitHub Actions による自動化と、Wrangler CLI による手動デプロイの両方をサポートしています。
デプロイアーキテクチャ
Section titled “デプロイアーキテクチャ”自動デプロイ(GitHub Release)
Section titled “自動デプロイ(GitHub Release)”リリースフロー
Section titled “リリースフロー”- GitHub で新しい Release を作成
release.ymlワークフローが自動実行- バージョンタグを検証
- 対象アプリを判定してデプロイ
バージョンタグ規則
Section titled “バージョンタグ規則”| タグ形式 | デプロイ対象 | 例 |
|---|---|---|
v1.0.0 | 全サービス | フルリリース |
v1.0.0-{service} | 指定サービスのみ | v1.0.0-proof |
v1.0.0-patch.1-{service} | パッチリリース | v1.0.0-patch.1-counter |
対象サービス名
Section titled “対象サービス名”| 名前 | ワークスペース |
|---|---|
penthouse | apps/penthouse |
counter | apps/counter |
door | gateways/door |
tap | gateways/tap |
vintage | services/vintage |
fizz | services/fizz |
base | services/base |
bell | services/bell |
proof | services/proof |
menu | docs/menu |
card | docs/card |
リリース作成手順
Section titled “リリース作成手順”- GitHub リポジトリの Releases ページを開く
- Draft a new release をクリック
- タグを入力(例:
v1.2.0) - タイトルとリリースノートを記入
- Publish release をクリック
リリースノートは generate-release-notes.yml により Gemini API で自動生成され、PR として提出されます。
手動デプロイ(Preview)
Section titled “手動デプロイ(Preview)”GitHub Actions 経由
Section titled “GitHub Actions 経由”- GitHub の Actions タブを開く
- Deploy ワークフローを選択
- Run workflow をクリック
- デプロイ対象アプリを選択
- 実行
対応アプリ: ichigen, counter, door, proof, vintage, menu
Wrangler CLI 経由
Section titled “Wrangler CLI 経由”全サービスデプロイ
Section titled “全サービスデプロイ”bun deploy # 本番環境bun deploy:dev # dev 環境個別サービスデプロイ
Section titled “個別サービスデプロイ”# Turborepo フィルタで個別指定turbo deploy --filter=@speakeasy/counterturbo deploy:dev --filter=@speakeasy/fizz直接 Wrangler 実行
Section titled “直接 Wrangler 実行”cd services/fizznpx wrangler deploy # 本番npx wrangler deploy --env dev # dev 環境デプロイ順序
Section titled “デプロイ順序”サービス間依存関係があるため、以下の順序でデプロイします:
bun deploy は Turborepo の依存グラフに基づいて自動的に正しい順序でデプロイします。menu は build-storybook 依存のため最後にデプロイされます。
DB マイグレーション付きデプロイ
Section titled “DB マイグレーション付きデプロイ”DB スキーマ変更を伴うデプロイの場合:
# 1. マイグレーションファイルの生成(開発時)cd packages/cellarbun run generate
# 2. dev 環境で検証bun run migrate:dev
# 3. 本番マイグレーション適用bun run migrate:deploy
# 4. サービスデプロイcd ../..bun deployロールバック
Section titled “ロールバック”Wrangler ロールバック
Section titled “Wrangler ロールバック”# 直前のバージョンにロールバックnpx wrangler rollback --name counter特定バージョンへのロールバック
Section titled “特定バージョンへのロールバック”# バージョン一覧の確認npx wrangler versions list --name counter
# 特定バージョンにデプロイnpx wrangler versions deploy <version-id> --name counterDB マイグレーションのロールバック
Section titled “DB マイグレーションのロールバック”Drizzle ORM はロールバック用のマイグレーションを自動生成しません。手動で逆マイグレーションを作成する必要があります。
CI/CD シークレット
Section titled “CI/CD シークレット”GitHub Actions で使用するシークレット:
| シークレット | 用途 |
|---|---|
CLOUDFLARE_API_TOKEN | Wrangler デプロイ認証 |
CLOUDFLARE_ACCOUNT_ID | Cloudflare アカウント |
GEMINI_API_KEY | リリースノート自動生成 |
RESEND_API_KEY | ニュースレター送信 |