Невозможно извлечь изображения из реестра артефактов при развертывании в Cloud Run.

Введение

Я использую Cloud Build, чтобы научиться создавать образы Docker, хранить их в реестре артефактов, а затем развертывать конечный продукт в Cloud Run. Пожалуйста, ознакомьтесь сcloudbuild.yamlниже:

      steps:
  # Build the container image
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '.', '-t', '[REGION]-docker.pkg.dev[projectId]/[repository]/[image]:latest']

  # Push to Artifact Registry
  - name: 'gcr.io/cloud-builders/docker'
    args: ['push', '[REGION]-docker.pkg.dev[projectId]/[repository]/[image]:latest']

  # List Docker images (for debugging)
  - name: 'gcr.io/cloud-builders/docker'
    args: ['images']

  # Log in to Artifact Registry
  - name: 'gcr.io/cloud-builders/docker'
    args: ['login', '[REGION]-docker.pkg.dev[projectId]/[repository]/[image]:latest']

  # Deploy to Cloud Run
  - name: 'gcloud'
    args:
      - 'run'
      - 'deploy'
      - 'REPLACE_WITH_SERVICE_NAME'
      - '--image'
      - '[REGION]-docker.pkg.dev[projectId]/[repository]/[image]:latest'
      - '--region'
      - 'REPLACE_WITH_REGION'
      - '--platform'
      - 'managed'
      - '--allow-unauthenticated'

Все шаги помечаются как успешные в Cloud Build, но когда дело доходит до этапа развертывания в Cloud Run, отображается следующее сообщение об ошибке:

Error response from daemon: pull access denied for gcloud, repository does not exist or may require docker login:denied:requested access to the resource is denied

Я прочитал документацию и убедился, что выполняются следующие требования:

  1. Я следовал этой документации по реестру артефактов , чтобы настроить это.
  2. Репозиторий и образ существуют в реестре артефактов.
  3. Учетная запись службы Cloud Build имеет необходимые разрешения для управления ресурсами реестра артефактов:
    • роли/artifactregistry.reader

    • роли/artifactregistry.writer

Вопросы:

  • Я пропустил какой-либо шаг в своем cloudbuild.yaml?
  • Почему я могу отправлять изображения в реестр артефактов, но не могу получить их для развертывания?

0 ответов