Невозможно отправить сборки gcloud

Невозможно отправить сборки gcloud

Я пытаюсь отправить сборку с локальной рабочей станции и получаю непонятную ошибку:

gcloud builds submit --config cloudbuild.yaml .
Creating temporary tarball archive of 149 file(s) totalling 121.5 MiB before compression.
Uploading tarball of [.] to [gs://***/source/1598211672.63-e76a3db01aa3435885a35cc3b94f0246.tgz]
ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: Request contains an invalid argument.

То же самое cloudbuild.yamlзапускается правильно при запуске git push или github PR comment. Также, несколько месяцев назад я мог отправлять сборки таким образом.

gcloud auth listпоказывает, что активная учетная запись — это та, которая определенно имеет роль Project Owner. Кроме того, я могу выполнять другие команды gcloud, такие как администрирование контейнера хранения, управление вычислительными экземплярами и т. д.

решение1

это работает так, как задумано, и это задокументированоздесь:

По умолчанию сборка возвращает ошибку, если отсутствует переменная подстановки или отсутствует подстановка. Однако вы можете установить опцию ALLOW_LOOSE, чтобы пропустить эту проверку.

также когда вы вызываете свою сборку с помощью триггера:

Если ваша сборка вызывается триггером, опция ALLOW_LOOSE устанавливается по умолчанию. В этом случае ваша сборка не вернет ошибку, если отсутствует переменная подстановки или отсутствует подстановка. Вы не можете переопределить опцию ALLOW_LOOSE для сборок, вызываемых триггерами.

решение2

я добавил

options:
  substitution_option: 'ALLOW_LOOSE'

в cloudbuild.yaml, и сборка отправляется сейчас. По какой-то причине, если cloudbuild.yaml определил замены вроде:

substitutions:
  _SLACK_MESSAGE_TEMPLATE: 'backend build succeeded"

cli cloudbuild submit возвращает ошибку, даже если я предоставляю _SLACK_MESSAGE_TEMPLATEчерез --substitutions.

Связанный контент