Ayúdanos a definir el futuro de la entrega de software y haz que escuche tu opinión mediante la encuesta del estado de DevOps 2021.

Soluciona errores de compilación

En esta página, se proporcionan estrategias de solución de problemas y soluciones para algunos mensajes de error comunes que podrías ver cuando ejecutas una compilación.

¿Tu compilación pasa a nivel local?

Cuando solucionas errores de Cloud Build, tu primer paso siempre debe ser confirmar que puedas compilar localmente. Si tu compilación no funciona de manera local, la causa raíz del problema no proviene de Cloud Build. Primero debe diagnosticar y solucionar el problema de forma local.

¿Revisaste los registros de compilación?

Usa los registros de compilación de Logging o Cloud Storage para obtener más información sobre el error de compilación. Los registros escritos en stdout o stderr aparecen automáticamente en Cloud Console.

Las compilaciones manuales fallan porque el usuario no tiene acceso a los registros de compilación

Verás el siguiente error cuando intentes ejecutar una compilación de forma manual:

AccessDeniedAccess denied. [EMAIL_ADDRESS] does not have storage.objects.get access to the Google Cloud Storage object.

Este error se muestra porque Cloud Build requiere que los usuarios ejecuten compilaciones manuales y que usen ladepósito de registros predeterminado de Cloud Storage Tener la función de IAM de visualizador de proyecto y la función de editor de Cloud Build Para solucionar este error, realiza una de las siguientes acciones:

Las compilaciones fallan debido a que faltan permisos de la cuenta de servicio

Cloud Build usa una cuenta de servicio especial para ejecutar compilaciones a tu nombre. Si la cuenta de servicio de Cloud Build no tiene el permiso necesario para realizar una tarea, verás el siguiente error:

Missing necessary permission iam.serviceAccounts.actAs for [USER] on the service account [CLOUD_BUILD_SERVICE_ACCOUNT]@PROJECT.iam.gserviceaccount.com

Para solucionar este error, otorga el permiso necesario a la cuenta de servicio. Usa la información de las siguientes páginas para determinar los permisos que se otorgarán a la cuenta de servicio de Cloud Build:

Las fallas de compilación debido a la falta de permisos para la cuenta de servicio suelen ocurrir cuando se intenta implementar con Cloud Build.

Se produjo un error al implementar en Cloud Functions

Cuando intentes implementar en Cloud Functions, verás el siguiente error:

Missing necessary permission iam.serviceAccounts.actAs for [USER] on the service account [CLOUD_BUILD_SERVICE_ACCOUNT]@PROJECT.iam.gserviceaccount.com

Para solucionar este error, asigna la función de desarrollador de Cloud Functions a la cuenta de servicio de Cloud Build.

Error en la implementación en App Engine

Cuando intentes implementar en App Engine, verás el siguiente error:

Missing necessary permission iam.serviceAccounts.actAs for [USER] on the service account [CLOUD_BUILD_SERVICE_ACCOUNT]@PROJECT.iam.gserviceaccount.com

Para solucionar este error, otorga la función de administrador de App Engine a la cuenta de servicio de Cloud Build.

Se produjo un error al implementar en GKE

Verás el siguiente error cuando intentes implementar en GKE:

Missing necessary permission iam.serviceAccounts.actAs for [USER] on the service account [CLOUD_BUILD_SERVICE_ACCOUNT]@PROJECT.iam.gserviceaccount.com

Para solucionar este error, otorga la función de desarrollador de GKE a la cuenta de servicio de Cloud Build.

Se produjo un error al implementar en Cloud Run

Verás el siguiente error cuando intentes implementar en Cloud Run:

Missing necessary permission iam.serviceAccounts.actAs for [USER] on the service account [CLOUD_BUILD_SERVICE_ACCOUNT]@PROJECT.iam.gserviceaccount.com

Verás este error porque la cuenta de servicio de Cloud Build no tiene los permisos de IAM necesarios para implementar en Cloud Run. Si deseas obtener información sobre cómo otorgar los permisos necesarios, consulta Implementa en Cloud Run.

Error al almacenar imágenes en Container Registry

Verás el siguiente error cuando tu compilación intente almacenar imágenes compiladas en Container Registry:

[EMAIL_ADDRESS] does not have storage.buckets.create access to project [PROJECT_NAME]

Este error se muestra porque la cuenta de servicio de Cloud Build no tiene la función de administrador de almacenamiento que se necesita para almacenar imágenes de contenedor en Container Registry.

Las compilaciones fallan debido a la autorización SSH no válida

Verás el siguiente error cuando ejecutes una compilación:

Could not parse ssh: [default]: invalid empty ssh-agent socket, make sure SSH_AUTH_SOCK is set

Este error indica un problema con la autorización SSH. Un ejemplo común es un error de autorización de SSH que ocurre cuando se accede a repositorios privados de GitHub con Cloud Build. Si deseas obtener instrucciones para configurar SSH para GitHub, consulta Accede a repositorios privados de GitHub.

Error de tiempo de espera de E/S

Verás el siguiente error cuando ejecutes una compilación:

Timeout - last error: dial tcp IP_ADDRESS: i/o timeout

Este error suele ocurrir cuando tu compilación intenta acceder a recursos en una red privada. Las compilaciones que se ejecutan a través de Cloud Build pueden acceder a recursos privados en la Internet pública, como los recursos en un repositorio o un registro. Sin embargo, las compilaciones no pueden acceder a los recursos en una red privada.

4xx errores de cliente

Este grupo de errores indica que la solicitud de compilación no se realiza correctamente por falla del usuario que envía la solicitud. Algunos ejemplos de errores del cliente 4xx son los siguientes:

  • **Error**: 404 : Requested entity was not found
  • **Error**: 404 : Trigger not found
  • **Error**: 400 : Failed Precondition

Cuando veas un error del cliente de 4xx, consulta tus registros de compilación para ver si contiene más información sobre el motivo. Algunas causas comunes para los errores del cliente incluyen las siguientes:

  • La ubicación de origen que especificaste no tiene nada nuevo para confirmar y el árbol de trabajo está limpio. En este caso, verifica la ubicación de tu código fuente y vuelve a intentar la compilación.
  • Tu repositorio no contiene un archivo de configuración de compilación. Si este es el caso, sube un archivo de configuración de compilación a tu repositorio y vuelve a ejecutar la compilación.
  • Especificaste un ID de activador incorrecto.
  • Hace poco, agregaste un repositorio nuevo después de instalar la app de GitHub. Cloud Build no tiene permisos para acceder al repositorio nuevo. Si este es el caso, conecta tu repositorio nuevo a Cloud Build.

¿Qué sigue?