Артефакты Google CloudBuild YAML

Я следил за документами по Google CloudBuild здесь: https://cloud.google.com/cloud-build/docs/configuring-builds/store-images-artifacts

Итак, вот моя cloudbuild.yaml конфигурация:

steps:
- name: gcr.io/cloud-builders/git
id: git-checkout
args: [ 'fetch','--tags','--unshallow']
- name: openjdk
id: gradle-build
args: [
    './gradlew',
    '--build-cache',
    '-Si',
    '-Panalytics.buildId=$BUILD_ID',
    '-PgithubToken=$_GITHUB_TOKEN',
    '-g', '$_GRADLE_CACHE',
    'build'
]
artifacts:
objects:
    location: ['gs://my-bucket/artifacts/']
    paths: ["build/libs/*.jar"]

Если я закомментирую следующее, оно будет успешно выполнено:

artifacts:
objects:
    location: ['gs://my-bucket/artifacts/']
    paths: ["build/libs/*.jar"]

Без комментариев я получаю в консоли CloudBuild следующую ошибку:

failed unmarshalling build config cloudbuild.yaml: json: cannot unmarshal array into Go value of type string

А в разделе Журналы просто написано Журналы недоступны.


person Stewart Bryson    schedule 29.08.2018    source источник
comment
Вы когда-нибудь догадывались об этом?   -  person Chris Stryczynski    schedule 28.11.2018


Ответы (3)


objects.location элемент не должен быть массивом.

Следующее должно работать:

artifacts:
  objects:
    location: 'gs://my-bucket/artifacts/'
    paths: ["build/libs/*.jar"]
person Regn    schedule 22.04.2019

Может потребоваться отступ objects: строки

artifacts:
  objects:
    location: ['gs://my-bucket/artifacts/']
    paths: ["build/libs/*.jar"]
person user2605764    schedule 08.09.2018

Я также столкнулся с этой ошибкой, когда раздел моего файла cloudbuild.yaml выглядел так:

- name: 'gcr.io/cloud-builders/git'
  args:
  - clone 
  - -depth
  - 1
  - --single-branch
  - -b
  - development
  - [email protected]:aoaoeuoaeuoeaueu/oaeueoaueoauoaeuo.git
  volumes:
  - name: 'ssh'
    path: /root/.ssh

Кажется, проблема в 1. Поэтому я просто добавил цитаты, в которых это исправлено (- "1").

person Chris Stryczynski    schedule 28.11.2018