CI/CD
概要
このリポジトリは GitHub Actions を使って、認証・DB・API・フロントエンド・ドキュメント・Wiki 更新を分割して運用しています。
各 workflow は main と develop を Stage として扱い、スタック名や CloudFormation Export 名にブランチ名を反映します。
詳細なジョブ内容は ワークフロー詳細 を参照してください。
ワークフロー一覧
| Workflow | 主な対象 | 役割 |
|---|---|---|
cognito_cicd.yaml |
infrastructure/auth/** |
Cognito User Pool / Client を検証・デプロイ |
db_migrate.yaml |
infrastructure/liquibase_migrate/** |
DSQL クラスター作成と Liquibase マイグレーション |
generate_sea_orm.yaml |
infrastructure/liquibase_migrate/changes/*.sql |
DB スキーマから SeaORM エンティティ再生成 |
api_cicd.yaml |
api/** |
Rust Lambda と HTTP API を検証・デプロイ |
frontend_cicd.yaml |
frontend/** |
Next.js をビルドし S3/CloudFront へ配信 |
document_cicd.yaml |
ドキュメント全体 | Rustdoc / TypeDoc / Honkit Wiki を生成して公開 |
update-wiki.yml |
手動実行 | Copilot CLI で llm-wiki/wiki/ を更新して PR 化 |
依存関係の見取り図
- 認証 と DB のスタックが基盤になります。
generate_sea_orm.yamlが DB スキーマから ORM を再生成します。- API は Cognito の Export と DB Endpoint を利用してデプロイされます。
- フロントエンド は Cognito の Export と API URL を注入してビルド・配信されます。
document_cicd.yamlは自動生成 API/Frontend ドキュメントと Wiki をまとめて公開します。
命名規則
| 種別 | 例 |
|---|---|
| Cognito スタック | cognito-20260424-test-develop |
| DB スタック | db-20260424-test-main |
| API スタック | api-20260424-test-main |
| Frontend スタック | frontend-20260424-test-develop |
| Document スタック | document-20260424-test |
運用上のポイント
pull_requestでは主に validate まで実行し、デプロイはpush/workflow_dispatch時のみ走る設計です。- API の CORS 設定は固定値ではなく、フロントエンドの CloudFront ドメインを workflow 内で取得して注入します。
- フロントエンドの validate ジョブはプレースホルダー環境変数でビルドし、アプリ構造の破綻を早期に検出します。
update-wiki.ymlはCOPILOT_GITHUB_TOKENを別途必要とするため、通常のデプロイ workflow とは認証要件が異なります。