Google cloud build cli - получить URL-адрес артефакта во время сборки - PullRequest
0 голосов
/ 24 октября 2019

Я использую триггер построения облака Google для создания образа контейнера. После запуска новой сборки (push by git tag) я вижу ее в своей истории Cloud Build.

enter image description here

Как вы можете видеть,сборка уже имеет artifact URI (URI изображения). Но при вызове gcloud build list - его там нет:

enter image description here

Он появляется только в столбце ИЗОБРАЖЕНИЕ ПОСЛЕ завершения строительства.

Как получить artifact билд при сборке?

1 Ответ

2 голосов
/ 24 октября 2019

IIUC, сборки и артефакты - разные вещи.

Когда вы отправляете gcloud builds, вы создаете сборки (задания), идентифицируемые по идентификаторам сборки.

Сборки может привести к созданию артефактов (обычно - но не ограничиваясь ими - контейнерных изображений). Только во время завершения сборки создаются артефакты, и поэтому вы не ожидаете, что они будут доступны до тех пор.

steps:
- name: "gcr.io/cloud-builders/docker"
  args: 
  - build
  - -t
  - "gcr.io/your-project/your-image
  - .
images:
- "gcr.io/your-project/your-image"

Или:

artifacts:
  objects:
    location: [STORAGE_LOCATION]
    paths:
    - [ARTIFACT_PATH]
    - [ARTIFACT_PATH]
    - ...

Поскольку вы указываете изображения| артефакты в вашей спецификации сборки вы можете вывести (до того, как они будут созданы), где они будут получены, и тогда вы сможете запросить их напрямую. В случае отправленных изображений контейнеров вы можете запросить их, используя gcloud container images list, возможно (в соответствии с вышеизложенным) gcloud container image list --repository=gcr.io/your-project

См .:

https://cloud.google.com/cloud-build/docs/configuring-builds/store-images-artifacts#artifacts_examples

HTH!

...