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 生成の検証
  • 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 - - 開発用ベースブランチ

results matching ""

    No results matching ""