1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudBuildなんか止まってない?→ GCR廃止でした

1
Last updated at Posted at 2025-07-11

はじめに

最近、ちょっとした仕様変更により、あまり触っていなかった既存プロダクトのデプロイが必要になりました。

ところが、GitHub にマージしても Cloud Build が動かないという事態に遭遇しました。
しかも、Cloud Build のログを見ると、原因不明の push エラーが発生している……。


なにが起きたのか?

弊社のあるプロダクトでは、以下のような構成で CI/CD を回しています。

  • GitHub で devmain ブランチにマージされると…
  • Cloud Build が自動で起動し
  • Docker イメージをビルドして
  • GCR(Google Container Registry)に push
  • Cloud Run にデプロイ

Cloud Build のログには、動かなくなった工程はGCRのpushで、こんなエラーメッセージがありました。

Container Registry is deprecated and shutting down,
please use the auto migration tool to migrate to Artifact Registry

えっ…!?GCRがシャットダウンされている...?


GCR、終了のお知らせ(2025年3月〜)

image.png

GCR(gcr.io)は、2025年3月から段階的に廃止されています。
すでに push は不可能、読み取りも制限されつつあります。

Cloud Build から GCR に push しようとしていた我々の CI/CD は、当然ながら動かなくなっていました。


解決策:Artifact Registry へ移行する

やることは実はシンプルです。

対策手順

  1. Artifact Registry に新しい Docker リポジトリを作成

    gcloud artifacts repositories create [新リポジトリ名] \
      --repository-format=docker \
      --location=asia-northeast1
    
  2. yamlファイル のイメージパスを修正

    - gcr.io/[project名]/${SERVICE_NAME}:$COMMIT_SHA
    + asia-northeast1-docker.pkg.dev//[project名]/[新リポジトリ名] /${SERVICE_NAME}:$COMMIT_SHA
    
  3. あとは Cloud Build トリガーを実行すれば OK


Artifact Registryとは?(ざっくり)

Artifact Registry は、GCP が提供する 次世代のコンテナ・パッケージ管理サービス です。

従来の GCR(Container Registry)と比べて:

  • リージョンごとの高可用性
  • IAM によるアクセス制御が強化
  • Docker 以外にも Maven, npm, Python などを統合管理
  • 将来の公式サポート対象(GCRは廃止)

つまり、GCRより柔軟なレジストリサービスということです。

「今後使うべき標準的なレジストリ」として Google が推奨しているものです。

考えたこと:既存の GCR イメージはどうする?

今回は GCR のイメージ移行は行いませんでした

なぜかというと:

  • 過去のイメージを使ってロールバックする運用がそもそもない
  • 必要になったら git checkout して再ビルドすればいい
  • GCR は push はできないが、まだ読み取りはできる

という判断からです。

移行が必要な場合は、公式が移行コマンドを用意してくれているようです。
下記ドキュメントには移行手順を丁寧に解説してくれています。


まとめ

  • GCR は廃止されており、Cloud Build からは使えなくなっている
  • CICDの対応としては、Artifact Registry にリポジトリを作って yamlファイルのパスを書き換えるだけ
  • もし同じように Cloud Build が突然動かなくなったら、まずはレジストリのエラーログを疑ってみる

おまけ:Cloud Build のありがたみを再認識

Cloud Build を使っていると、マージだけで自動でビルド&デプロイされる安心感があります。
ただし、裏で依存しているサービス(今回で言えば GCR)が変わると全滅することもあるので、

アップデート情報はちゃんとキャッチしておきたいですね 🫠

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?