ワークフロー
test.yml(CI)
- •トリガー: push / pull_request
- •Node v24
- •手順:
- •
npm i - •
npm run lint(textlint) - •
npm run build(リトライ3回、タイムアウト10分)
- •
deploy.yml(CD)
- •トリガー: masterへのpush
- •PlantUMLサーバーを起動
- •サービスコンテナ、ポート8080
- •
_config.ymlの# GHA: uncomment-before-build行を自動アンコメント- •PlantUMLサーバーURLの有効化
- •
--prod --ignore-scriptsで依存関係をインストール
デプロイフロー
- •ビルド:
npm run build(リトライ3回) - •検証:
- •
public/index.htmlの存在 - •
public/post/ディレクトリの存在 - •空ファイルがないこと
- •
- •S3同期:
aws s3 sync --delete- •Cache-Control:
- •HTML: 1時間
- •フォント: 1年
- •CSS/JS/画像: 1日
- •その他: 1週間
- •Cache-Control:
- •CloudFront無効化:
/*
必要なSecrets
- •
AWS_ACCESS_KEY_ID - •
AWS_SECRET_ACCESS_KEY - •
AWS_DEFAULT_REGION - •
S3_BUCKET - •
CLOUDFRONT_DISTRIBUTION_ID