Compilaciones

En Odoo.sh, una compilación es una base de datos que carga un servidor de Odoo (odoo/odoo y odoo/enterprise) y que se ejecuta sobre una revisión específica del repositorio del proyecto en un entorno con contenedores. Su propósito es probar el correcto comportamiento del servidor, la base de datos y las funciones asociadas a esa revisión.

Información general

Descripción general de las compilaciones

En la vista general de las compilaciones, cada fila representa una rama y cada celda dentro de esa fila representa una compilación de esa rama.

La mayoría de las compilaciones se crean después de subir cambios a las ramas de tu repositorio de GitHub. También se crean mediante otras operaciones, como al importar una base de datos a Odoo.sh o solicitar una recompilación para una rama del proyecto.

Las compilaciones pueden tener tres estados posibles:

  • Una compilación se considera exitosa si no aparecen errores ni advertencias durante su creación. Las compilaciones exitosas aparecen en color verde.

  • Una compilación se considera casi exitosa si aparecen advertencias sin errores. Estas compilaciones aparecen en color amarillo.

  • Una compilación se considera fallida si aparecen errores durante su creación. Las compilaciones fallidas aparecen en color rojo.

Nota

Las compilaciones no siempre crean una base de datos desde cero. Por ejemplo, al enviar un cambio a la rama de producción, la compilación creada inicia el servidor con la nueva revisión e intenta cargar la base de datos de producción actual.

Etapas

Producción

La primera compilación de una rama de producción crea una base de datos desde cero. Si esta compilación es exitosa, esta base de datos se convertirá en la base de datos de producción de tu proyecto.

A partir de ese momento, cada envío a la rama de producción creará nuevas compilaciones que intentarán cargar la base de datos con un servidor que ejecuta la nueva revisión.

Si la compilación resulta exitosa o casi exitosa, la base de datos de producción se ejecuta con esta compilación y su revisión asociada.

Si la compilación no logra cargar o actualizar la base de datos, el sistema reutilizará la compilación exitosa anterior para cargarla. En ese caso, la base de datos seguirá en ejecución con la revisión exitosa anterior.

Nota

La compilación que ejecuta la base de datos de producción siempre es la primera de la lista de compilaciones. Si una compilación falla, el sistema la coloca después de la compilación que ejecuta la base de datos de producción.

Prueba

Las compilaciones de prueba duplican la base de datos de producción e intentan cargar esa copia con las revisiones de las ramas de prueba.

Cada vez que envías una nueva revisión a una rama de prueba, la compilación resultante usa una copia nueva de la base de datos de producción. El sistema no reutiliza bases de datos entre compilaciones de la misma rama. Esto garantiza que:

  • Las compilaciones de prueba usen bases de datos que reflejen el estado actual de producción, por lo que las pruebas no se ejecutarán con datos desactualizados.

  • Puedas experimentar dentro de una base de datos de prueba. Solicita una recompilación cuando quieras empezar de nuevo con una copia nueva de la base de datos de producción.

Sin embargo, esto también quiere decir que si haces cambios en la configuración de una base de datos de prueba y no los aplicas en producción, esos cambios no aparecerán en la siguiente compilación de la misma rama de prueba.

Desarrollo

Las compilaciones de desarrollo crean nuevas bases de datos, cargan los datos de demostración y ejecutan las pruebas unitarias.

Una compilación se considera fallida si las pruebas fallan durante la instalación, ya que estas pruebas generan errores cuando detectan problemas.

La compilación se considera exitosa si todas las pruebas pasan y no aparece ningún error.

Nota

Según la lista de módulos que el sistema deba instalar y probar, una compilación de desarrollo puede tardar hasta una hora en estar lista. Esto ocurre debido a la gran cantidad de pruebas incluidas en el conjunto predeterminado de módulos de Odoo.

Funciones

La rama de producción siempre aparece primero. El sistema ordena el resto de las ramas según la hora de creación de su última compilación. La etapa que aparezca en color morado corresponderá a la etapa seleccionada en el menú Ramas.

Truco

Puedes filtrar ramas con la barra de búsqueda.

El menú de ramas

Para cada rama puedes:

  • Acceder a la base de datos de la compilación más reciente al hacer clic en Conectar.

  • Ir al código de la rama al hacer clic en GitHub.

  • Crear una nueva compilación al hacer clic en Recompilar. El sistema usa la revisión más reciente de la rama. Esta opción no está disponible si ya existe una compilación en proceso para esa rama.

Para cada compilación puedes:

  • Ver los cambios de la revisión al hacer clic en el icono (GitHub).

  • Acceder a la base de datos de la compilación como administrador al hacer clic en Conectar o como otro usuario al hacer clic en el botón (Más acciones) ubicado junto a Conectar y seleccionar Conectar como.

  • Acceder a las mismas herramientas que en la vista de ramas al hacer clic en el botón (Más acciones) junto a Conectar y seleccionar Registros, Web Shell, Editor, Correos electrónicos salientes (en las etapas de prueba y desarrollo), Monitoreo y Descargar dump de la base de datos (en las etapas de producción y prueba).

Las opciones de una compilación