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

А в разделе " Журналы " просто говорится, что журналы недоступны.

2 ответа

Вам может понадобиться сделать отступ objects: линия

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

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

- name: 'gcr.io/cloud-builders/git'
  args:
  - clone 
  - -depth
  - 1
  - --single-branch
  - -b
  - development
  - git@bitbucket.org:aoaoeuoaeuoeaueu/oaeueoaueoauoaeuo.git
  volumes:
  - name: 'ssh'
    path: /root/.ssh

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

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

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

artifacts:
  objects:
    location: 'gs://my-bucket/artifacts/'
    paths: ["build/libs/*.jar"]
Другие вопросы по тегам