# Troubleshoot your autobuilds


> [!WARNING]
> Docker Hub Automated Builds is a deprecated feature.
> It will be fully retired on April 1, 2027.

> [!NOTE]
>
> Automated builds require a
> Docker Pro, Team, or Business subscription.

## Builds fallidas

Si una build falla, aparece un icono **Retry** junto a la línea del informe de compilación en las pestañas **General** y **Builds**. La página **Build report** y los registros de la pestaña **Timeline** también muestran un botón **Retry**.

![Timeline view showing the retry build button](/docker-hub/repos/manage/builds/troubleshoot/images/retry-build.png)

> [!NOTE]
>
> Si estás viendo los detalles de compilación de un repositorio que pertenece a una
> organización, los botones **Cancel** y **Retry** solo aparecen si tienes acceso de lectura y escritura (`Read & Write`) al repositorio.

Las builds automáticas tienen un límite de tiempo de ejecución de 4 horas. Si una build alcanza este límite de tiempo, se cancela automáticamente y los registros de compilación muestran el siguiente mensaje:

```text
2022-11-02T17:42:27Z The build was cancelled or exceeded the maximum execution time.
```

Este mensaje de registro es el mismo que aparece cuando cancelas activamente una build. Para identificar si una compilación se canceló automáticamente, comprueba la duración de la build.


## Compilar repositorios con submódulos privados vinculados

Docker Hub configura una clave de despliegue (deploy key) en tu repositorio de código fuente que le permite clonar el repositorio y compilarlo. Esta clave solo funciona para un repositorio de código específico. Si tu repositorio de código fuente utiliza submódulos privados de Git, o requiere que clones otros repositorios privados para compilar, Docker Hub no puede acceder a estos repositorios adicionales, tu compilación no podrá completarse y se registrará un error en la línea de tiempo de compilación.

Para solucionar esto, puedes configurar tu build automática utilizando la variable de entorno `SSH_PRIVATE` para anular la clave de despliegue y conceder acceso al sistema de compilación de Docker Hub a los repositorios.

> [!NOTE]
>
> Si estás utilizando autobuild para equipos, en su lugar usa el proceso que se describe
> a continuación y configura un usuario de servicio para tu proveedor de código fuente. También puedes
> hacer esto para una cuenta individual para limitar el acceso de Docker Hub a tus
> repositorios de origen.

1. Genera un par de claves SSH que uses solo para compilaciones y agrega la clave pública a tu cuenta de proveedor de código fuente.

    Este paso es opcional, pero puedes revocar el par de claves exclusivo de compilación sin eliminar otros accesos.

2. Copia la parte privada del par de claves al portapapeles.
3. En Docker Hub, navega a la página de compilación del repositorio que tiene submódulos privados vinculados. (Si es necesario, [sigue los pasos aquí](/docker-hub/repos/manage/builds/troubleshoot/#configure-automated-builds) para configurar la build automática).
4. En la parte inferior de la pantalla, selecciona el icono **más** (+) junto a **Build Environment variables**.
5. Introduce `SSH_PRIVATE` como nombre para la nueva variable de entorno.
6. Pega la parte privada del par de claves en el campo **Value**.
7. Selecciona **Save**, o **Save and Build** para validar que la compilación ahora se complete.

> [!NOTE]
>
> Debes configurar tus submódulos privados de Git usando clonación por SSH
> (`git@submodule.tld:some-submodule.git`) en lugar de HTTPS.

