Estoy intentando enviar una compilación desde una estación de trabajo local y obtengo un error no descriptivo:
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.
Lo mismo cloudbuild.yaml
se ejecuta correctamente cuando se activa mediante un comentario de git push o github PR. Además, hace varios meses pude enviar compilaciones de esta manera.
gcloud auth list
muestra que una cuenta activa es la que definitivamente tiene el rol de Propietario del Proyecto. Además, puedo ejecutar otros comandos de gcloud, como administración de depósitos de almacenamiento, administración de instancias informáticas, etc.
Respuesta1
esto está funcionando según lo previsto y está documentadoaquí:
De forma predeterminada, la compilación devuelve un error si falta una variable de sustitución o una sustitución. Sin embargo, puede configurar la opción ALLOW_LOOSE para omitir esta verificación.
también cuando invocas tu compilación con un disparador:
Si su compilación es invocada por un disparador, la opción ALLOW_LOOSE está configurada de forma predeterminada. En este caso, su compilación no devolverá un error si falta una variable de sustitución o una sustitución. No puede anular la opción ALLOW_LOOSE para compilaciones invocadas por desencadenadores.
Respuesta2
he añadido
options:
substitution_option: 'ALLOW_LOOSE'
a cloudbuild.yaml y cree los envíos ahora. Por alguna razón, si cloudbuild.yaml tiene sustituciones definidas como:
substitutions:
_SLACK_MESSAGE_TEMPLATE: 'backend build succeeded"
cli cloudbuild submit devuelve un error, incluso si lo proporciono _SLACK_MESSAGE_TEMPLATE
a través de --substitutions
.