Compilaciones

Información general

En Odoo.sh, una compilación se considera como una base de datos cargada por un servidor de Odoo (odoo/odoo y odoo/enterprise) y se ejecuta en una revisión específica del repositorio de tu proyecto en un entorno contenerizado. Su propósito es probar el correcto funcionamiento del servidor, la base de datos y las funciones de esta revisión.

../../../_images/interface-builds.png

En esta vista, una fila representa una rama y una celda de esa fila representa una compilación de esa rama.

La mayoría de las veces, las compilaciones se crean después de enviar los cambios a las ramas de tu repositorio de GitHub. También pueden crearse al realizar otras operaciones, como importar una base de datos en Odoo.sh o solicitar que se vuelva a crear una compilación para una rama en tu proyecto.

Se considera que una compilación es exitosa si durante su creación no aparecen errores o advertencias. Las compilaciones exitosas aparecen en verde.

Se considera que una compilación ha fallado si aparecen errores durante su creación. Las compilaciones fallidas aparecen en rojo.

Si durante la creación aparece alguna advertencia, pero no hay errores, la compilación se considera casi exitosa y aparecerá en amarillo para avisarle al desarrollador acerca de las advertencias.

Las compilaciones no siempre crean una base de datos desde cero. Por ejemplo, al aceptar cambios en la rama de producción, la compilación creada solo inicia el servidor con tu nueva revisión e intenta cargar la base de datos de producción actual. La compilación se considera exitosa si no hay errores; de lo contrario, se considera fallida.

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, la base de datos se considera como la base de datos de producción de tu proyecto.

A partir de ahí, los cambios que subas a la rama de producción crearán nuevas compilaciones que intentarán cargar la base de datos con un servidor que funcione con la nueva revisión.

Si la compilación es exitosa, o tiene advertencias pero no tiene errores, la base de datos de producción se ejecutará con esta compilación y con la revisión asociada a ella.

Si la compilación no logra cargar o actualizar la base de datos, se volverá a utilizar la compilación anterior que sí lo consiguió y, por lo tanto, la base de datos se ejecutará en un servidor que funcione con la revisión exitosa anterior.

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

Etapa de prueba

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

Cada vez que se envía una nueva revisión a una rama de prueba, la compilación creada utiliza una nueva copia 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 prueba utilicen bases de datos que se aproximen al aspecto de la producción, para que no haga sus pruebas con datos desactualizados,

  • Que puedas hacer todas las pruebas que quieras en la misma base de datos de prueba y luego solicites una nueva compilación cuando quieras volver a empezar con una nueva copia de producción.

No obstante, esto significa que si realiza cambios de configuración en las bases de datos de prueba y no se aplican en la producción, 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.

Si las pruebas fallan durante la instalación, se considerará que la compilación ha fallado y se resaltará en rojo, ya que están pensadas para que se produzcan errores si ocurre algo que no debería suceder.

Si las pruebas funcionan bien y no se produce ningún error, la compilación se considerará exitosa.

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

Características

Siempre aparecerá la rama de producción primero y luego las demás ramas se ordenarán según la última compilación creada. Puede filtrar las ramas.

../../../_images/interface-builds-branches.png

Puedes acceder a la base de datos de la última versión de cada rama mediante el enlace Conectar e ir al código de la rama con el enlace de GitHub. Para las otras ramas que no sean la de producción, puedes crear una nueva compilación que utilizará la última revisión de la rama con el enlace Nueva compilación. Este último enlace no estará disponible si ya hay una compilación en curso para la rama.

../../../_images/interface-builds-build.png

Puedes ver los cambios de la revisión de cada compilación con el botón que tiene el icono de GitHub. Puedes acceder a la base de datos de la compilación como administrador con el botón Conectar. También puedes acceder a la base de datos con otro usuario si utilizas el botón Conectar como ubicado en el menú desplegable del botón Conectar.

../../../_images/interface-builds-build-dropdown.png

En el menú desplegable de la compilación puedes acceder a las mismas funciones que en la vista de ramas: Registros, Webshell, Editor, Correos de salida. También puedes descargar un dump de la base de datos de la compilación.