CD ワークフローを cmd/* 由来の matrix による並列デプロイへ刷新#21
Conversation
単一サービス前提だった出力を見直し、cmd/* から デプロイ matrix を自動生成する set-matrix ステップを追加した。 - service_name 出力を廃止し、サービス/ジョブ名へ付与する service_suffix 出力に置き換え(prod は空) - image_tag をサービス名非依存にし、全 cmd ターゲットで 1 つのイメージを共有する形へ変更 - cmd/* を走査し、末尾 "-api" を Cloud Run Service、 それ以外を Job として分類した matrix を出力 このコミットでは set-env アクション単体の出力定義のみを変更し、 利用側ワークフローの変更は次コミットで扱う。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
単一サービスのデプロイから、cmd/* 由来の matrix で各ターゲットを 並列デプロイする方式へ切り替えた。サービス/ジョブの増減に ワークフロー編集なしで自動追従できる。 - build-and-push を 1 回だけ実行し、共有イメージを生成・プッシュ - deploy ジョブに set-env が出力する matrix を適用し、 service_suffix と組み合わせてサービス/ジョブ名を構築 - *-api は deploy-cloudrun で Service デプロイ、それ以外は gcloud run jobs deploy で Job を作成/更新(実行はしない)。 いずれも共有イメージの起動コマンドを /bin/<name> に切り替え - 不要になった env(REGION/AR_REPOSITORY/IMAGE_NAME)を削除 - ポリシーに従い各 action をタグから SHA 固定に変更 (Renovate 用にタグをコメント併記) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
レビュー
1.
|
概要
単一サービス前提だった CD ワークフローを刷新し、
cmd/*から生成した matrix で各デプロイ対象を並列にデプロイする方式へ変更します。サービス/ジョブの増減に対し、ワークフローを編集せずcmd/への追加だけで自動追従できるようにすることが目的です。変更点
CD ワークフロー(
cd.yml/set-envアクション)set-envアクションにcmd/*を走査するset-matrixステップを追加し、デプロイ matrix を JSON で出力。末尾-apiを Cloud Run Service、それ以外を Cloud Run Job として分類する。cmdターゲットを 1 つのイメージに同梱する方針に合わせ、image_tagをサービス名非依存に変更。build-and-pushは 1 回だけ実行する。service_name出力を廃止し、サービス/ジョブ名へ付与するservice_suffix出力(prod は空)に置き換え。deployジョブを matrix 化し、*-apiはdeploy-cloudrun、それ以外はgcloud run jobs deployでデプロイ(Job は作成/更新のみで実行はしない)。いずれも共有イメージの起動コマンドを/bin/<name>に切り替える。REGION/AR_REPOSITORY/IMAGE_NAME)を削除。CI ワークフロー(
ci.yml)ビルド(
Dockerfile)announcement-apiとuser-apiを追加。確認内容
set-matrixがcmd/*から想定どおりの Service/Job 分類で matrix を生成すること。/bin/<name>起動に切り替わること。