Не удается вытащить репо из исходного кода Google во время автоматической сборки облака - PullRequest
0 голосов
/ 04 октября 2018

У меня есть Dockerfile, который я использую для создания образа, который будет работать на Google Compute Engine.

Часть Dockerfile должна использовать Google Cloud SourceПовторите репо и добавьте его к изображению.

Я получаю сообщение об ошибке ниже при использовании Cloud Builder:

`` `

Step 6/6 : RUN gcloud source repos clone repoXXX --project=projectXXX
---> Running in xxx
[91mERROR: (gcloud.source.repos.clone) You do not currently have an active account selected.
Please run:
  $ gcloud auth login 
    to obtain new credentials, or if you have already logged in with a different account:
  $ gcloud config set account ACCOUNT
    to select an already authenticated account to use.
The command '/bin/sh -c gcloud source repos clone repoXXX -- 
project=projectXXX' returned a non-zero code: 1

` ``

Я не уверен, что я здесь делаю не так?

Я не использую файл cloudbuild.yaml, но я предполагал, что учетная запись службы Cloudbuilder сможет извлечь репо, поскольку у него есть доступ к редактору в IAM.

Что мне делатьсоздать изображение успешно?

Обновление:

Если вы нашли этот вопрос, я смог добавить Репозитории Google Cloud Source, собрав следующие два шага:

  1. Создание файла cloudbuild.yaml, включая следующие шаги:

steps: # Pull Search Console repo to include in the build. - name: 'gcr.io/cloud-builders/gcloud' args: ['source', 'repos', 'clone', 'xxx']

В вашем Dockerfile вы можете скопировать репо из вашей рабочей области в новое изображение:

FROM xxx:latest # Copy the repo into Docker copy xxx /xxx

Вы можете прочитать больше о создании базовогофайл конфигурации сборки здесь .

1 Ответ

0 голосов
/ 04 октября 2018

Добавьте --network=cloudbuild к args, чтобы разрешить передачу учетных данных учетной записи службы построения в ваши шаги Dockerfile.

steps:
- name: gcr.io/cloud-builders/docker
  args: ['build', '-t', 'THE_IMAGE', '--network=cloudbuild', '.']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...