如何在 Cloud Build 中使用自定義構建器映像,該映像存儲在 Artifact Registry(而不是 Container Registry?)的存儲庫中?
我在 Cloud Build 中設置了一個管道,其中使用官方 Python 圖像執行了一些 Python 代碼。因為我想我的緩存依賴性蟒蛇,我想創建一個自定義的雲構建如圖所示的官方文檔中的位置。
GCP 明確表示要切換到 Artifact Registry,因為 Container Registry 將被前者取代。因此,我已將我的 docker 鏡像推送到 Artifact Registry。我還為我的 Cloud Builder 服務帳戶授予了 Artifact Registry 的讀者權限。
在像這樣的 Cloud Build 步驟中使用圖像
steps:
- name: 'europe-west3-docker.pkg.dev/xxxx/yyyy:latest'
id: install_dependencies
entrypoint: pip
args: ["install", "-r", "requirements.txt", "--user"]
拋出以下錯誤
步驟 #0 - “install_dependencies”:拉取鏡像:europe-west3-docker.pkg.dev/xxxx/yyyy:latest 步驟 #0 - “install_dependencies”:來自守護進程的錯誤響應:europe-west3-docker.pkg.dev 的清單/xxxx/yyyy:最新未找到:清單未知:未找到請求的實體。
“xxxx”是存儲庫名稱,“yyyy”是我的圖像名稱。標籤“最新”存在。我可以在本地拉取鏡像並訪問存儲庫。
我找不到任何關於如何從 Artifact Registry 集成這些圖像的文檔。只有這個官方指南,其中的鏡像是使用 Container Registry 的 Docker 鏡像構建的——但這不應該是未來的證明。
看起來您需要將您的項目 ID 添加到您的圖像名稱中。您可以使用“$PROJECT_ID”Cloud Build 默認替換變量。因此,您更新後的圖像名稱將如下所示:
steps:
- name: 'europe-west3-docker.pkg.dev/$PROJECT_ID/xxxx/yyyy:latest'
有關在 Cloud Build 中替換變量值的更多詳細信息,請參閱:
https://cloud.google.com/build/docs/configuring-builds/substitute-variable-values
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句