-
-
Save Klerith/07371087699cbcdf50b748aa398e8443 to your computer and use it in GitHub Desktop.
steps: | |
- name: "gcr.io/cloud-builders/docker" | |
args: | |
[ | |
"build", | |
"-t", | |
"XXXXX-docker.pkg.dev/project-name/registry/image-name", | |
"-f", | |
"dockerfile.prod", | |
"--platform=linux/amd64", | |
".", | |
] | |
- name: "gcr.io/cloud-builders/docker" | |
args: | |
[ | |
"push", | |
"XXXXX-docker.pkg.dev/project-name/registry/image-name", | |
] |
Como lo solucionaste?
Gracias @dpaul20 !
@Alejgl04 la solución es copiar esta instruccion al final del archivo, a la misma altura de "steps"
options:
logging: CLOUD_LOGGING_ONLY
El archivo deberia quedar de la siguiente manera:
steps:
- name: "gcr.io/cloud-builders/docker"
args:
[
"build",
"-t",
"XXXXX-docker.pkg.dev/project-name/registry/image-name",
"-f",
"dockerfile.prod",
"--platform=linux/amd64",
".",
]
- name: "gcr.io/cloud-builders/docker"
args:
[
"push",
"XXXXX-docker.pkg.dev/project-name/registry/image-name",
]
options:
logging: CLOUD_LOGGING_ONLY
Gracias perfecto !! funciono
Gracias @patriciobo Funciono perfecto
.
Les comento.
En mi caso, estoy trabajando con Google Cloud Build para automatizar un repo que tiene el código (un agente de IA) y otro repo de github que tiene el IaC (infraestructura como código), todo esto por requerimientos de DevSecOps
Como tenemos varios stages (experimental, desa, test, y prod), tenemos varios archivos "cloudbuild.yaml" Es decir, tenemos cloudbuild-desa.yaml, cloudbuil-experimental.yaml, cloudbuild-test.yaml, cloudbuild-prod.yaml
El error:
if 'build.service_account' is specified, the build must either (a) specify 'build.logs_bucket', (b) use the REGIONAL_USER_OWNED_BUCKET build.options.default_logs_bucket_behavior option, or (c) use either CLOUD_LOGGING_ONLY / NONE logging options
Después de mucho probar lo que hice fué:
1.- Editar el disparador (trigger)
2.- Cambiar la configuración
2.1- La opción Detectado automáticamente
Se detectará un archivo cloudbuild.yaml o Dockerfile en el repositorio
2.1- La cambié por la opción Archivo de configuración de Cloud Build (YAML o JSON)
3.- En la opción Ubicación del archivo de configuración de Cloud Build escribí el nombre del cloudbuild-experimental.yaml que es mi archivo para este stage (También le indico al disparador que se active solo con la rama experimental)
Es bastante interesante, me sorprendió ver este error en un gits de Fernando Herrera. No he visto aún su curso de docker, pero veo que sus cursos están enfocados en casos de la vida real.
Éxitos a todos. Cualquier duda consulten
No se si a alguno le ha pasado que le falla el build

Tu compilación no se pudo ejecutar: generic::invalid_argument: if 'build.service_account' is specified, the build must either (a) specify 'build.logs_bucket', (b) use the REGIONAL_USER_OWNED_BUCKET build.options.default_logs_bucket_behavior option, or (c) use either CLOUD_LOGGING_ONLY / NONE logging options
por ahora he solucionado con esto
https://stackoverflow.com/questions/68779751/error-publishing-source-code-from-cloud-build-to-a-bucket-using-triggers