CI/CD ドキュメント
このページでは、GitHub Actions を使用した自動化ワークフローについて説明します。
ワークフロー一覧
本プロジェクトでは、役割ごとに複数のワークフローを定義しています。
| ワークフロー名 | ファイル | 役割 |
|---|---|---|
| API Deployment | inquiry_api_cicd.yaml |
API (Lambda/Gateway) のビルド・テスト・デプロイ |
| Cognito Deployment | inquiry_cognito_cicd.yaml |
認証基盤 (Cognito) のデプロイ |
| DB Migrate | inquiry_db_migrate.yaml |
データベース (Aurora DSQL) のマイグレーション |
| Document Deployment | inquiry_document_cicd.yaml |
Wiki (Honkit) や各種 API ドキュメントの公開 |
1. API Deployment (inquiry_api_cicd.yaml)
API のライフサイクルを管理します。
トリガー
develop,releaseブランチへのプッシュmain,develop,releaseブランチへの PR (作成・更新)
主なジョブ
- Validate & Build ※大阪リージョンのみ:
- SAM テンプレートのバリデーション (
sam validate --lint) - ローカル PostgreSQL コンテナ上でのテスト実行 (
cargo test -- --include-ignored) - テストカバレッジの測定 (
cargo tarpaulin) - OpenAPI 生成の検証
- SAM テンプレートのバリデーション (
- Deploy:
cargo-lambdaによる Rust バイナリのビルド (arm64)sam deployによる AWS (東京/大阪) へのマルチリージョンデプロイ
- Export OpenAPI ※大阪リージョンのみ:
- デプロイ後の環境情報(エンドポイント等)を反映した OpenAPI 定義の生成と GitHub Release への公開
2. Cognito Deployment (inquiry_cognito_cicd.yaml)
認証基盤を管理します。
トリガー
inquiry-api/auth/配下の変更
内容
sam deployを使用して、指定された環境 (Stage) の Cognito ユーザープールとクライアントを作成・更新します。
3. DB Migrate (inquiry_db_migrate.yaml)
データベーススキーマを管理します。
トリガー
inquiry-api/liquibase_migrate/ブランチへのプッシュ・PR(Validateのみ)- 手動実行 (
workflow_dispatch)
内容
liquibaseを使用して Aurora DSQL に対して SQL 変更セットを適用します。- マイグレーション成功後、必要に応じて SeaORM エンティティの再生成と PR 作成(マージ済みならブランチ更新)を行います。
4. Document Deployment (inquiry_document_cicd.yaml)
開発者向けドキュメントを公開します。
トリガー
- 手動実行 (
workflow_dispatch)
公開対象
- Honkit Wiki:
inquiry-api/docs/の内容をビルドした静的サイト - API ドキュメント:
- Rustdoc (Rust コードのドキュメント)
- 各種 OpenAPI ビューア (RapiDoc, Scalar, SwaggerUI, Stoplight 等)
- 公開先: Cloudflare Pages (
https://inq-sys-20260602.pages.dev/)
環境とブランチ
| ブランチ | 環境 (Stage) | リージョン | 用途 |
|---|---|---|---|
develop |
develop |
大阪 (ap-northeast-3) | 開発・検証環境 |
release |
release |
東京 (ap-northeast-1) & 大阪 | 本番・リリース環境 |
main |
- | - | 開発用ベースブランチ |