Ramas¶
Información general¶
La vista de ramas le proporciona información general sobre las ramas de su repositorio.

Etapas¶
Odoo.sh cuenta con tres etapas distintas que podrá usar en sus ramas: producción, prueba y desarrollo.
Puede cambiar la etapa de una rama si la arrastra y la suelta en el título de la sección correspondiente a la etapa.

Producción¶
Esta es la rama que contiene el código en el que se ejecuta su base de datos de producción y solo puede existir una rama de este tipo.
Cuando confirma sus cambios en esta rama, su servidor de producción se actualiza con el código de la nueva revisión y luego se reinicia.
Si sus cambios requieren la actualización de un módulo, como un cambio en una vista de formulario, y desea que se realice de forma automática, incremente el número de versión del módulo en su archivo manifest (__manifest__.py). La plataforma se encargará de realizar la actualización durante la cual la instancia no estará disponible de forma temporal por motivos de mantenimiento.
Este método es equivalente a realizar una actualización del módulo mediante Aplicaciones o con -u
en la línea de comandos.
En caso de que los cambios en la confirmación prevengan que el servidor se reinicie, o si la actualización de los módulos falla, el servidor se restaura de forma automática a la última revisión de código exitosa y la base de datos regresa al estado previo a la actualización. Aún tiene acceso al registro de la actualización fallida para que pueda solucionar los errores.
Los datos de demostración no se cargan, pues no se deben usar en una base de datos de producción. No se realizan pruebas unitarias debido, pues el tiempo en el que la base de datos de producción no está disponible durante las actualizaciones aumentaría.
Los usuarios que utilizan proyectos de prueba deben tomar en cuenta que su rama de producción, junto con todas las ramas de prueba, volverán a la etapa de desarrollo de manera automática después de 30 días.
Prueba¶
Las ramas de prueba sirven para que pruebe sus nuevas funciones con los datos de producción sin comprometer la base de datos de producción real con registros de prueba. Estas crearán bases de datos que son duplicados neutralizados de la base de datos de producción.
La neutralización hace lo siguiente:
Deshabilita las acciones planificadas. Si desea probarlas, puede activarlas de forma manual o volver a habilitarlas. Tome en cuenta que, con el fin de ahorrar recursos, la plataforma las activará con menor frecuencia si nadie usa la base de datos.
Deshabilita los correos electrónicos salientes al interceptarlos con mailcatcher. Cuenta con una interfaz para visualizar los correos electrónicos que envió su base de datos, así no deberá preocuparse de enviar correos de prueba a sus contactos.
Incluye proveedores de pago y de envío en el modo de prueba.
Deshabilita los servicios de compras dentro de la aplicación.
La base de datos más reciente seguirá activa de forma indefinida, mientras que las más antiguas de la misma rama se pueden depurar para hacer espacio para las nuevas. La rama será válida por 3 meses, luego deberá volver a crearla. Si realiza cambios en la configuración o la vista en estas bases de datos, asegúrese de documentarlos o escribirlos en los módulos de la rama mediante archivos de datos XML que sobreescriban la configuración o vista predeterminada.
No se realizan pruebas unitarias ya que, en Odoo, hasta ahora dependen de los datos de demostración que no están cargados en la base de datos de producción. Si más adelante Odoo es compatible con la ejecución de pruebas unitarias sin los datos de demostración, Odoo.sh considerará ejecutar las pruebas en las bases de datos de prueba.
Desarrollo¶
Las ramas de desarrollo crean nuevas bases de datos con los datos de demostración para realizar las pruebas unitarias. Los módulos instalados son los que están en sus ramas y puede cambiar la lista de módulos a instalar desde los ajustes de su proyecto.
Cuando envía una nueva confirmación a una de estas ramas, se inicia un nuevo servidor con una base de datos creada desde cero y la nueva revisión de la rama. Esto carga los datos de demostración y realiza las pruebas unitarias de forma predeterminada. Además, verifica que sus cambios no dañen ninguna de las funciones que prueban. Si lo desea, en los ajustes de la rama puede deshabilitar las pruebas o permitir que se ejecuten pruebas específicas con etiquetas personalizadas.
Al igual que en las ramas de prueba, los correos electrónicos no se envían, sino que son interceptados por un receptor de correo o mailcatcher. Las acciones planificadas no se activan mientras la base de datos no esté en uso.
Las bases de datos creadas para las ramas de desarrollo tienen una duración aproximada de tres días. Luego de este tiempo, pueden eliminarse de forma automática sin previo aviso para hacer espacio para las nuevas bases de datos.
Fusionar ramas¶
Puede fusionar sus ramas con facilidad al arrastrarlas y soltarlas entre sí.

Cuando desee probar los cambios de sus ramas de desarrollo con los datos de producción, puede:
Fusionar la rama de desarrollo con su rama de prueba, solo arrástrela y suéltela en la rama de prueba deseada.
Arrastrar la rama de desarrollo y soltarla en el título de la sección de prueba para convertirla en una rama de prueba.
Cuando sus cambios más recientes están listos para pasar a producción, puede arrastrar y soltar su rama de prueba en su rama de producción para fusionarlas y desplegar las nuevas funciones en producción.
Si así lo desea, también puede fusionar sus ramas de desarrollo con su rama de producción. Esto significa que omitirá la validación de sus cambios con los datos de producción a través de la rama de prueba.
Puede fusionar sus ramas de desarrollo entre sí, también puede hacerlo con sus ramas de prueba.
Además, puede usar git merge
desde su estación de trabajo para fusionar sus ramas. Odoo.sh recibirá una notificación cuando suba las nuevas revisiones a sus ramas.
Cuando fusiona una rama de prueba con la rama de producción solo fusiona el código fuente. Cualquier cambio de configuración que haga en la base de datos de prueba no pasará a la base de datos de producción.
Si prueba los cambios de configuración en las ramas de prueba y aplicarlos en producción, puede:
Escribir los cambios de configuración en los archivos de datos XML que sobreescriben la configuración o las vistas predeterminadas en sus ramas, luego cambie a una versión superior de su módulo en su archivo manifest (__manifest__.py) para activar la actualización del módulo al fusionar su rama de prueba con su rama de producción. Esta es la mejor práctica para que sus desarrollos tengan mayor escalabilidad, ya que utilizará las funciones de control de versiones de Git para todos sus cambios de configuración y, por lo tanto, todos sus cambios tendrán trazabilidad.
Copiar los cambios desde su base de datos de prueba y pegarlos en su base de datos de producción.
Pestañas¶
Historial¶
El resumen del historial de su rama incluye:
Los mensajes de las confirmaciones (o commits) y sus autores.
Los diversos eventos vinculados a la plataforma, como los cambios de etapa, la importación de bases de datos y la restauración de las copias de seguridad.

Cada evento muestra un estado en la esquina superior derecha que proporciona información sobre la operación actual de la base de datos (instalación, actualización, importación de respaldo, entre otras) o su resultado (retroalimentación de pruebas, importación de respaldo exitosa, etc.). Cuando una operación es exitosa, puede acceder a la base de datos con el botón Conectar.
Correos¶
Esta pestaña contiene el receptor de correos o mailcatcher y muestra un resumen de los correos enviados por su base de datos. El mailcatcher está disponible para sus ramas de desarrollo y de prueba, ya que los correos electrónicos de su base de datos de producción sí se envían y no son interceptados.

Shell¶
Un acceso de shell a su contenedor. Puede realizar comandos básicos de Linux (ls
, top
) y abrir un shell en su base de datos si escribe psql
.

Puede abrir varias pestañas, arrastrarlas y soltarlas para acomodarlas como desee.
Nota
Las instancias de shell de larga duración no están garantizadas. Los shells inactivos se pueden desconectar en cualquier momento para liberar recursos.
Editor¶
Un entorno de desarrollo integrado (IDE, por sus siglas en inglés) en línea para editar el código fuente. También puede abrir terminales, consolas de Python e incluso consolas de shell de Odoo.

Puede abrir varias pestañas, arrastrarlas y soltarlas para acomodarlas como desee.
Monitoreo¶
Este enlace contiene varias métricas de monitoreo de la compilación actual.

Puede ampliar, cambiar el intervalo o seleccionar una métrica específica en cada gráfico. Las anotaciones disponibles en los gráficos pueden ayudarle a relacionar los cambios en la compilación (importación de base de datos, push de Git, etc.).
Registros¶
Un editor para revisar los registros de su servidor.

Hay distintos registros disponibles:
install.log: Los registros de la instalación de la base de datos. Las ramas de desarrollo incluyen los registros de las pruebas.
pip.log: Los registros de la instalación de las dependencias de Python.
odoo.log: Los registros del servidor activo.
update.log: Los registros de las actualizaciones de la base de datos.
pg_long_queries.log: Los registros de las consultas psql que toman más tiempo de lo normal.
Al agregar nuevas líneas a los registros, estas aparecerán de forma automática. Si se dirige a la parte inferior, el navegador se desplazará de forma automática cada que haya una línea nueva.
Puede pausar la recuperación de registros si hace clic en el botón correspondiente que se encuentra en la esquina superior derecha de la vista. La recuperación se detiene en automático después de 5 minutos y puede reiniciarla al hacer clic en el botón «Iniciar».
Respaldos¶
Es una lista de los respaldos disponibles para descargar y restaurar. También es la capacidad de realizar una copia de seguridad manual e importar una base de datos.

Odoo.sh respalda la base de datos de producción todos los días. Mantiene 7 respaldos diarios, 4 semanales y 3 mensuales. Cada copia de seguridad incluye el dump de la base de datos, los archivos almacenados (archivos adjuntos, campos binarios), los registros y las sesiones.
Las bases de datos de prueba y de desarrollo no cuentan con respaldos, pero puede restaurar una copia de seguridad de la base de datos de producción en sus ramas de prueba o recuperar manualmente los datos eliminados por accidente de la base de datos de producción.
La lista incluye los respaldos almacenados en el servidor que aloja su base de datos de producción. Este servidor solo guarda un mes de respaldos, es decir, 7 diarios y 4 semanales.
Los servidores de respaldo específicos guardan las mismas copias, así como 3 respaldos mensuales adicionales. Contáctenos para restaurar o descargar uno de los respaldos mensuales.
Si fusiona una confirmación (o commit) que actualiza la versión de uno o varios módulos (en __manifest__.py
) o sus dependencias de Python vinculadas (en requirements.txt
), Odoo.sh realiza un respaldo automático (aparece en la lista con el tipo Actualización), ya que el contenedor cambiará por la instalación de nuevos paquetes pip o cambiará la base de datos gracias a la actualización del módulo. En ambos casos haremos un respaldo, ya que puede ocurrir algún error.
Si fusiona una confirmación que solo cambia parte del código sin las modificaciones antes mencionadas, entonces Odoo.sh no realiza ningún respaldo porque no modifica el contenedor o la base de datos y la plataforma considera que es un movimiento seguro. Como precaución adicional, puede respaldar de forma manual antes de hacer cambios importantes en producción en caso de que ocurra un error (estos respaldos manuales estarán disponibles durante una semana). Para evitar el abuso de la función, solo puede realizar 5 respaldos manuales diarios.
La función Importar base de datos es compatible con los archivos de bases de datos en los formatos proporcionados por:
El gestor estándar de bases de datos de Odoo (disponible para los servidores de Odoo alojados de forma local en
/web/database/manager
).El gestor en línea de bases de datos de Odoo.
El botón de descarga de respaldo de Odoo.sh ubicado en la pestaña Respaldos.
El botón de descarga de dump de Odoo.sh en la vista de compilaciones.
Actualizar¶
Disponible para las ramas de producción y prueba de proyectos válidos.
Ver también
Ajustes¶
A continuación encontrará un par de ajustes que solo aplican a la rama seleccionada.

Comportamiento después de una nueva confirmación
Para las ramas de desarrollo y de prueba, puede cambiar el comportamiento de las ramas después de una nueva confirmación. De forma predeterminada, una rama de desarrollo creará una nueva compilación y la rama de prueba actualizará la compilación anterior (consulte Etapa de producción). Esto es útil si la función con la que está trabajando requiere ajustes específicos, así no deberá volver a configurarlos manualmente en cada confirmación. Al elegir una nueva compilación para una etapa de prueba, creará una nueva copia de la compilación de producción cuando envíe sus cambios. Una rama que se regresa de un estado de prueba a uno de desarrollo se establecerá como “No hacer nada” de forma automática.
Instalación de módulos
Elija los módulos que se instalarán de forma automática en sus compilaciones de desarrollo.

La opción predeterminada Instalar solo mis módulos solo instalará los módulos de la rama y excluye los submódulos.
La opción Instalación completa (todos los módulos) instalará los módulos de la rama, los módulos incluidos en los submódulos y todos los módulos estándar de Odoo. El paquete de prueba se deshabilita al ejecutar la instalación completa.
La opción Instalar una lista de módulos instalará los módulos definidos en el campo que se encuentra abajo de ella. Separe los nombres técnicos de los módulos con comas.
Si las pruebas están habilitadas, el conjunto de módulos estándar de Odoo puede tardar hasta 1 hora. Esto solo aplica en las compilaciones de desarrollo. Las compilaciones de prueba duplican la compilación de producción y la compilación de producción solo instala la base.
Paquete de prueba
En las ramas de desarrollo,puede elegir si habilitar o deshabilitar el paquete de prueba que está activo de forma predeterminada. Cuando está habilitado, puede restringirlo al especificar algunas etiquetas de prueba.
Versión de Odoo
Solo puede cambiar la versión de Odoo en las ramas de desarrollo si desea probar un código actualizado o desarrollar otras funciones mientras su base de datos de producción está en el proceso de actualización a una nueva versión.
Además, para cada versión tiene dos opciones relacionadas con la actualización del código.
Puede elegir si utilizar las correcciones de errores, seguridad y rendimiento más recientes de forma automática. Las fuentes de su servidor de Odoo se actualizarán cada semana con la opción «Más reciente».
Puede elegir fijar las fuentes de Odoo a una revisión específica si las selecciona de una lista de fechas. Las revisiones vencen después de 3 meses y recibirá una notificación por correo electrónico cuando la fecha de vencimiento se acerque. Si no toma ninguna medida, se establecerá a la última revisión de forma automática.
Dominios personalizados
Aquí puede configurar más dominios para la rama seleccionada. Puede agregar otros dominios <name>.odoo.com o sus propios dominios personalizados. Para hacer esto último, debe:
Ser propietario del nombre de dominio o adquirirlo.
Agregar el nombre del dominio a esta lista.
Ir al gestor de nombres de dominio de su registrador y configurar el nombre con un registro
CNAME
definido como el nombre de dominio de su base de datos de producción.
Por ejemplo, para asociar www.miempresa.com con su base de datos miempresa.odoo.com:
En Odoo.sh, agregue www.miempresa.com a los dominios personalizados de los ajustes de su proyecto.
En su gestor de nombres de dominio (como godaddy.com, gandi.net u ovh.com), configure www.miempresa.com con un registro
CNAME
con miempresa.odoo.com como valor.
Los dominios simples (como miempresa.com) no son compatibles:
Solo se pueden configurar al usar registros
A
.Los registros
A
solo aceptan direcciones IP como valor.La dirección IP de su base de datos puede cambiar después de una actualización, error de hardware o si cambia el alojamiento de su base de datos a otro país o continente.
Los dominios simples podrían dejar de funcionar de repente debido al cambio de dirección IP.
Además, si desea que tanto miempresa.com como www.miempresa.com funcionen con su base de datos, hacer que la primera dirección redirija a la segunda es una de las mejores prácticas de SEO (Consulte Proporciona una versión de una URL para llegar a un documento) para tener una URL principal. Por lo tanto, solo debe configurar miempresa.com para que redirija a www.miempresa.com. La mayoría de los gestores de dominios tienen la función de configurar esta redirección, esto suele llamarse redirección web.
HTTPS/SSL
Si configuró el redireccionamiento de forma correcta, la plataforma generará un certificado SSL con Let’s Encrypt en automático en un plazo de una hora y podrá acceder a su dominio mediante HTTPS.
Por el momento no es posible configurar sus propios certificados SSL en la plataforma de Odoo.sh, pero consideraremos agregar esta función si hay suficiente demanda.
Cumplimiento de SPF y DKIM
Si el dominio de las direcciones de correo electrónico de sus usuarios utiliza SPF (Convenio de remitentes) o DKIM (DomainKeys Identified Mail) no olvide autorizar a Odoo como host emisor en los ajustes de su nombre de dominio para incrementar la entrega de sus correos salientes. Los pasos de configuración se explican en la documentación sobre SPF y DKIM.
Advertencia
No configurar el SPF o DKIM para autorizar a Odoo como host emisor podría ocasionar que sus contactos reciban los correos que les envíe en su bandeja de spam.
Comandos de shell¶
En la esquina superior derecha de la vista hay distintos comandos de shell disponibles.

Puede copiar cada comando al portapapeles para usarlo en una terminal, algunos se pueden usar desde Odoo.sh al hacer clic en el botón de Ejecutar. En este caso, aparecerá una ventana emergente que invitará al usuario a definir marcadores de posición eventuales como <URL>
, <PATH>
, etc.
Clonar¶
Descarga el repositorio de Git.
$ git clone --recurse-submodules --branch master git@github.com:odoo/odoo.git
Esto clona el repositorio odoo/odoo.
--recurse-submodules
: descarga los submódulos de su repositorio. También se descargan los submódulos incluidos en los submódulos.--branch
: verifica una rama específica del repositorio, en este caso master.
El botón de Ejecutar no está disponible para este comando, ya que está pensado para usarse en sus máquinas.
Bifurcar¶
Crea una nueva rama según la rama actual.
$ git checkout -b feature-1 master
Esto crea una nueva rama llamada feature-1 desde la rama master y después la comprueba.
$ git push -u origin feature-1
Sube la nueva rama feature-1 a su repositorio remoto.
Fusionar¶
Fusiona la rama actual con otra rama.
$ git merge staging-1
Esto fusiona la rama staging-1 con la rama actual.
$ git push -u origin master
Sube los cambios que agregó a la rama master de su repositorio remoto.
SSH¶
Configuración¶
Es necesario que configure la clave pública de su perfil SSH (si aún no lo ha hecho) para poder utilizar SSH. Siga estos pasos:
Copie la clave SSH a su portapapeles (solo siga el primer paso de esta página).
Pegue el contenido en las claves SSH de su perfil y haga clic en «Agregar».
La clave debe aparecer a continuación.
Conexión¶
Use el siguiente comando en una terminal para conectarse a sus compilaciones mediante SSH:
$ ssh <build_id>@<domain>
En la esquina superior derecha de la pestaña SSH encontrará un atajo para este comando.

Recibirá acceso SSH a la compilación si tiene los permisos de acceso adecuados en el proyecto.
Nota
No se garantiza que las conexiones SSH sean de larga duración. Las conexiones inactivas se desconectarán en cualquier momento para liberar recursos.
Submódulo¶
Agregue una rama de otro repositorio a su rama actual como un submódulo.
Los submódulos le permiten usar módulos de otros repositorios en su proyecto.
Puede encontrar más información sobre la función de submódulos en el capítulo Submódulos de esta documentación.
$ git submodule add -b master <URL> <PATH>
Agrega la rama master del repositorio <URL> como un submódulo en la ruta <PATH> a su rama actual.
$ git commit -a
Confirma todos sus cambios actuales.
$ git push -u origin master
Sube los cambios que agregó a la rama master de su repositorio remoto.
Eliminar¶
Elimina una rama de su repositorio.
$ git push origin :master
Elimina la rama en su repositorio remoto.
$ git branch -D master
Elimina la rama en su copia local del repositorio.