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"]