Compilaciones

En Odoo.sh, una compilación es una base de datos cargada por un servidor Odoo (odoo/odoo y odoo/enterprise) ejecutándose en una revisión específica del repositorio de tu proyecto en un entorno en contenedor. Su propósito es probar el comportamiento correcto del servidor, la base de datos y las funcionalidades asociadas con esa revisión.

Información general

Resumen de las compilaciones

En la vista Compilaciones, una fila representa una rama y una celda dentro de esa fila representa una compilación de esa rama.

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

Las compilaciones pueden tener tres estados posibles:

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

  • Una compilación se considera casi exitosa si se producen advertencias, pero no hay errores. Las compilaciones casi exitosas se resaltan en amarillo.

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

Nota

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

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 entonces, los envíos a la rama de producción crearán nuevas compilaciones que intentarán cargar la base de datos usando un servidor que ejecuta la nueva revisión.

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

Si la compilación no logra cargar o actualizar la base de datos, se reutiliza la compilación exitosa anterior para cargar la base de datos. En ese caso, la base de datos continúa ejecutándose usando la revisión exitosa anterior.

Nota

La compilación utilizada para ejecutar la base de datos de producción es siempre la primera en la lista de compilaciones. Si una compilación falla, se coloca después de la compilación que está ejecutando actualmente la base de datos de producción.

Etapa de prueba

Las compilaciones de staging duplican la base de datos de producción e intentan cargar esta copia usando las revisiones de las ramas de staging.

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

  • Las compilaciones de staging usan bases de datos que coinciden estrechamente con el estado de producción actual, por lo que tus pruebas no se realizan en datos desactualizados.

  • Puedes experimentar libremente dentro de una base de datos de staging. Cuando quieras comenzar de nuevo con una copia nueva de la base de datos de producción, puedes solicitar una recompilación.

Sin embargo, esto también significa que si realizas cambios de configuración en una base de datos de staging y no los aplicas en producción, esos cambios no estarán presentes en la siguiente compilación de la misma rama de staging.

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 considerará fallida si las pruebas fallan durante la instalación, ya que están diseñadas para generar errores cuando algo está mal.

Si todas las pruebas pasan y no se producen errores, la compilación se considera exitosa.

Nota

Dependiendo de la lista de módulos a instalar y probar, una compilación de desarrollo puede tardar hasta una hora en estar lista. Esto se debe a la gran cantidad de pruebas incluidas en el conjunto de módulos predeterminado de Odoo.

Características

La rama de producción siempre aparece primero. Las otras ramas se ordenan por la hora de su última compilación creada. La etapa resaltada en morado corresponde a la etapa seleccionada en el menú Ramas.

Truco

Puedes filtrar ramas usando la barra de búsqueda.

El menú de ramas

Para cada rama, puedes:

  • Acceder a la base de datos de la última compilación haciendo clic en Conectar.

  • Ir al código de la rama haciendo clic en Github.

  • Crear una nueva compilación haciendo clic en Reconstruir. Utiliza la última revisión de la rama (no está disponible si ya hay una compilación en progreso para esa rama).

Para cada compilación, puedes:

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

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

  • Acceder a las mismas herramientas que en la vista de ramas haciendo clic en el botón (Más acciones) junto a Conectar y seleccionando Registros, Web Shell, Editor, Correos electrónicos salientes (para las etapas de desarrollo y pruebas), Supervisión, y Descargar volcado de BD (para las etapas de producción y pruebas).

Opciones de una compilación