Skip to content

Instantly share code, notes, and snippets.

@Klerith
Last active March 30, 2025 23:34
Show Gist options
  • Save Klerith/07371087699cbcdf50b748aa398e8443 to your computer and use it in GitHub Desktop.
Save Klerith/07371087699cbcdf50b748aa398e8443 to your computer and use it in GitHub Desktop.
Google Cloud - Build steps
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",
]
@dpaul20
Copy link

dpaul20 commented Jun 20, 2024

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
image

por ahora he solucionado con esto
https://stackoverflow.com/questions/68779751/error-publishing-source-code-from-cloud-build-to-a-bucket-using-triggers

@Alejgl04
Copy link

Como lo solucionaste?

@patriciobo
Copy link

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

@Alejgl04
Copy link

Gracias perfecto !! funciono

@Nullises
Copy link

Gracias @patriciobo Funciono perfecto

@xt9948
Copy link

xt9948 commented Mar 20, 2025

.

@Alanfermin
Copy link

Alanfermin commented Mar 20, 2025

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

Me lo mostraba en GCloud
image

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)

image

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment