GitHub Actions
CI/CDパイプラインの構成を示します
デプロイワークフロー
当サイトをデプロイするメインワークフローです。
最大4つのCloudFormation(SAM App含む)を順次実行します。
主要リソース
- • CloudFront + Lambda + S3 基本構成
- • 標準ログ記録(v2) のログ配信設定
- • Athena ワークグループと関連リソース(Glue)によるデータ分析基盤
- • Lambda@Edge + Cognito によるエッジロケーションの認証(オプション)
- • Lambda@Edge によるエッジロケーションの BASIC 認証(オプション)
カスタムドメイン設定
「カスタムドメイン名」「ACM 証明書の ARN」「ホストゾーンID」 の3つすべてをパラメータ入力することによって CloudFront ディストリビューションのカスタムドメイン設定を行います。
Route 53 レコードセット(IPv4,IPv6)を自動登録します。
OIDC認証
GitHub ActionsからAWSリソースへの操作にあたり、OIDC IDプロバイダーを事前に構築しておく必要があります。
必要な環境変数設定 (* は必須、* はカスタムドメイン設定で必須)
AWS_SAM_DEPLOY_ROLE_ARN
*
stg 環境
DOMAIN_NAME
*
ENABLE_EDGE_COGNITO_AUTHENTICATION
COGNITO_DOMAIN_PREFIX
ENABLE_EDGE_BASIC_AUTHENTICATION
BASIC_AUTH_USERNAME
BASIC_AUTH_PASSWORD
CERTIFICATE_ARN
*
HOSTED_ZONE_ID
*
prod 環境
DOMAIN_NAME
*
ENABLE_EDGE_COGNITO_AUTHENTICATION
COGNITO_DOMAIN_PREFIX
ENABLE_EDGE_BASIC_AUTHENTICATION
BASIC_AUTH_USERNAME
BASIC_AUTH_PASSWORD
CERTIFICATE_ARN
*
HOSTED_ZONE_ID
*
各ワークフローの関係性
ローカルE2Eテスト
e2e-local-tests.yml
※必要に応じて
ステージングデプロイ
sam-deploy.yml
※spacer
ステージングE2Eテスト
e2e-staging-tests.yml
※必要に応じて
本番デプロイ
sam-deploy.yml
※spacer
その他(ローカル開発環境でのE2Eテスト実行)
e2e-local-tests.yml、e2e-staging-tests.yml ワークフローと同等のE2Eテストがローカルの開発環境上からも呼び出し可能です
Dockerイメージを活用したローカル実行
開発環境からPlaywrightのDockerイメージを使用して、ローカル・ステージング環境の両方を対象としたE2Eテストを実行できます。
localhost:3000で起動したローカル開発サーバー
デプロイ済みの実環境(CloudFront経由)
実行環境と特徴
Docker環境
- • Playwright公式Dockerイメージ使用
- • WSL2環境での実行をサポート
- • UID/GID=1000での実行に最適化
利点
- • GitHub Actionsと近い環境でテスト可能
- • ローカルでの高速な検証サイクル