Skip to content

CDワークフローを構築#19

Draft
masaya-osuga wants to merge 5 commits into
mainfrom
deploy-workflow
Draft

CDワークフローを構築#19
masaya-osuga wants to merge 5 commits into
mainfrom
deploy-workflow

Conversation

@masaya-osuga

Copy link
Copy Markdown
Member

No description provided.

@masaya-osuga masaya-osuga self-assigned this Jun 14, 2026
masaya-osuga and others added 3 commits June 15, 2026 16:57
Dockerfile のビルド対象と deploy.yml の Cloud Run Service 更新対象に
announcement-api / user-api を追加し、3 つの HTTP API すべてが
イメージに同梱・デプロイされるようにした。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
並行グループ名のプレフィックス ci- を外し、ワークフロー名と
ref のみで一意になるよう簡素化した。あわせて mise の version
ピン留めを廃止し、デフォルトの最新版を使うようにした。
ファイル名とワークフロー名を CD に統一し、手動実行の入力を
environment から environment_name (必須・デフォルトなし) に変更した。
並行グループ名も環境ごとに分離する形へ見直し、誤った環境への
取り違えを防ぐようにした。ビルド・デプロイ処理自体は従来と同等。
@kantacky kantacky marked this pull request as draft June 15, 2026 13:12
@devin-ai-integration

Copy link
Copy Markdown

レビュー

全体的に CD ワークフローの初期構築として良い方向です。いくつか気になる点を挙げます。


1. prd vs prod の不一致(Bug)

workflow_dispatch の選択肢に prd がありますが、suffix 判定は "$ENVIRONMENT" = "prod" をチェックしています。prd を選択した場合、suffix が空にならず -prd になり、Cloud Run リソース名が意図しないものになります。

options:
  - dev
  - stg
  - prd   # ← ここ
if [ "$ENVIRONMENT" = "prod" ]; then   # ← "prd" とマッチしない

prdprod に統一するか、条件を "prd" に合わせる必要があります。

2. Actions のタグ参照 → SHA 固定推奨

actions/checkout@v6, google-github-actions/auth@v2 等がタグ参照です。サプライチェーン攻撃防止のため、SHA 固定(+ タグをコメント併記)が推奨されます。PR #21 ではこの対応がされているので、こちらも合わせるとよさそうです。

3. secrets vs vars の使い分け

GCP_PROJECT_IDsecrets で参照されていますが、project ID は機密情報ではないので vars の方が適切では? PR #21 では vars.PROJECT_ID に切り替わっています。

4. concurrency group の null 問題

group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.inputs.environment_name }}

push イベント時は github.event.inputs.environment_name が空文字列になり、group 名末尾が - で終わります。機能上は問題ありませんが、意図的かどうか確認したいです。

5. CI 変更について

  • concurrency group の ci- prefix 削除、mise バージョンピン解除は問題ないと思います。
  • mise のバージョンピンを外した場合、CIの再現性が下がるリスクがありますが、404 問題の回避としては妥当です。

6. Dockerfile の変更

announcement-apiuser-api のビルド追加は OK です。atlas-loader がビルド対象に含まれていない点は意図的と理解しています(ローカルツールのため?)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants