Google Cloud Build - результаты не сохраняются по шагам - PullRequest
0 голосов
/ 06 ноября 2018

Я использую Удаленный строитель Изображение сообщества, чтобы загрузить некоторые защищенные зависимости из внутреннего экземпляра GC ComputeEngine.

Этот шаг в cloudbuild.yaml выглядит следующим образом:

steps:
- name: gcr.io/{PROJECT_NAME}/remote-builder
  env:
  - COMMAND=sudo bash workspace/build.bash
  - ZONE=us-east1-b
  - INSTANCE_NAME=remote-cloud-build
  - INSTANCE_ARGS=--image-project centos-cloud --image-family centos-7

build.bash:

easy_install pip
pip install --upgrade pip
pip install --upgrade setuptools
pip wheel  -r workspace/requirements.txt -w workspace/requirements --no-binary :all:

Поэтому я скопировал свои библиотеки в папку workspace/requirements.
Но на следующем этапе сборки в этой папке нет файлов.
Я попытался создать пустой файл внутри папки для теста, например: touch workspace/requirements/file, но папка все еще пуста.
Не могли бы вы помочь мне с этим. Заранее спасибо!

1 Ответ

0 голосов
/ 08 ноября 2018

https://cloud.google.com/cloud-build/docs/create-custom-build-steps объясняет, что каталог /workspace монтируется на каждом шаге.

Я думаю, что вы находитесь в каталоге /workspace, когда build.bash выполняется, так что вы можете сгенерировать workspace dir в workspace dir: /workspace/workspace.

Можете ли вы попробовать поставить / впереди workspace?

steps:
- name: gcr.io/{PROJECT_NAME}/remote-builder
  env:
  - COMMAND=sudo bash /workspace/build.bash
  - ZONE=us-east1-b
  - INSTANCE_NAME=remote-cloud-build
  - INSTANCE_ARGS=--image-project centos-cloud --image-family centos-7

и

easy_install pip
pip install --upgrade pip
pip install --upgrade setuptools
pip wheel  -r /workspace/requirements.txt -w /workspace/requirements --no-binary :all:
...