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

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

Producción¶
Esta es la rama que contiene el código con el que se ejecuta tu base de datos de producción y solo puede haber una rama de este tipo.
Cuando confirmas tus cambios en esta rama, tu servidor de producción se actualiza con el código de la nueva revisión y luego se reinicia.
Si tus cambios requieren la actualización de un módulo, como una modificación en una vista de formulario, y quieres que se realice de forma automática, aumenta el número de versión del módulo en su archivo de manifiesto (__manifest__.py). La plataforma se encargará de hacer 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 desde el menú de Aplicaciones o con el parámetro -u
en la línea de comandos.
En caso de que los cambios en la confirmación impidan el reinicio del servidor, o si la actualización de los módulos falla, el servidor regresa a la última revisión de código exitosa de forma automática y la base de datos regresa en que estaba antes de la actualización. Aún tendrás acceso al registro de la actualización fallida para que puedas investigar cuál fue el problema.
Los datos de demostración no se cargan, ya que no están pensados para su uso en las bases de datos de producción, y las pruebas unitarias no se ejecutan, ya que aumentarían el tiempo de indisponibilidad de la base de datos de producción durante las actualizaciones.
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 pruebes tus nuevas funciones con los datos de producción sin comprometer la base de datos de producción real con registros de prueba. Estas ramas 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 programadas. Si quieres probarlas, puedes activarlas de forma manual o volver a habilitarlas. Ten en cuenta que la plataforma las ejecutará con menos frecuencia si nadie está usando la base de datos para ahorrar recursos.
Desactiva los correos salientes al interceptarlos con un mailcatcher. Hay una interfaz para ver los correos enviados desde tu base de datos, así no tienes que preocuparte por enviar correos de prueba a tus contactos.
Proveedores de pago y de envío en 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ás volver a crearla. Si haces cambios en la configuración o las vistas en estas bases de datos, asegúrate de documentarlos o escribirlos en los módulos de la rama con archivos de datos XML que sobreescriban la configuración o vistas predeterminadas.
Las pruebas unitarias no se ejecutan porque, en Odoo, actualmente dependen de los datos de demostración que no se cargan en la base de datos de producción. Si más adelante Odoo permite ejecutar las pruebas unitarias sin los datos de demostración, Odoo.sh considerará ejecutarlas 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 tus ramas y puedes cambiar la lista de módulos a instalar en los ajustes del proyecto.
Cuando envías una nueva confirmación a una de estas ramas mediante un commit, 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, también verifica que tus cambios no dañen ninguna de las funciones que prueban. Si quieres, puedes deshabilitar las pruebas o permitir que se ejecuten pruebas específicas con etiquetas personalizadas en los ajustes de la rama.
Al igual que en las ramas de prueba, los correos no se envían, sino que son interceptados por un receptor de correo o mailcatcher, y las acciones programadas 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 y luego de este tiempo pueden eliminarse de forma automática sin previo aviso para hacer espacio para las nuevas bases de datos.
Fusionar ramas¶
Puedes fusionar tus ramas con facilidad al arrastrarlas y soltarlas entre sí.

Cuando quieras probar los cambios de tus ramas de desarrollo con los datos de producción, puedes:
Fusionar la rama de desarrollo con tu rama de prueba, solo arrástrala y suéltala 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 tus cambios más recientes estén listos para pasar a producción, puedes arrastrar y soltar tu rama de prueba en tu rama de producción para fusionarlas y desplegar tus nuevas funciones en producción.
Si quieres, también puedes fusionar tus ramas de desarrollo con tu rama de producción. Esto significa que omitirás la validación de tus cambios con los datos de producción a través de la rama de prueba.
Puedes fusionar tus ramas de desarrollo entre sí, también puedes hacerlo con tus ramas de prueba.
Además, puedes usar git merge
desde tu estación de trabajo para fusionar tus ramas. Odoo.sh recibirá una notificación cuando subas las nuevas revisiones a tus ramas.
Al fusionar una rama de prueba con la rama de producción, solo se fusiona el código fuente. Cualquier cambio de configuración que hayas hecho en las bases de datos de prueba no pasará a la base de datos de producción.
Si pruebas los cambios de configuración en las ramas de prueba y quieres aplicarlos en producción, debes:
Escribir los cambios de configuración en archivos de datos XML que sobreescriban la configuración o vistas predeterminadas en tus ramas, y luego cambiar la versión de tu módulo en su manifiesto (__manifest__.py) para activar la actualización del módulo cuando fusiones tu rama de prueba con la rama de producción. Esta es la mejor práctica para tener mejor escalabilidad de tus desarrollos, ya que usarás las funciones de control de versiones de Git para todos tus cambios de configuración y así tendrás trazabilidad de tus modificaciones.
Copiar los cambios desde tu base de datos de prueba y pegarlos en tu base de datos de producción.
Pestañas¶
Historial¶
El resumen del historial de tu rama incluye:
Los mensajes de las confirmaciones (o commits) y sus autores.
Los distintos eventos vinculados a la plataforma, como cambios de etapa, importaciones de bases de datos y restauraciones de 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 (resultado de las pruebas, importación de respaldo exitosa, etc.). Cuando una operación es exitosa, puedes 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 desde tu base de datos. El mailcatcher está disponible para tus ramas de desarrollo y de prueba, ya que los correos de tu base de datos de producción sí se envían y no son interceptados.

Shell¶
Acceso a un shell de tu contenedor. Puedes ejecutar comandos básicos de Linux (ls
, top
) y abrir un shell en tu base de datos al escribir psql
.

Puedes abrir varias pestañas y arrastrarlas para organizar el diseño como quieras, por ejemplo, una al lado de la otra.
Nota
No garantizamos que las instancias de shell que estén abiertas por mucho tiempo permanezcan activas. Los shells inactivos pueden desconectarse 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 puedes abrir terminales, consolas de Python e incluso consolas de shell de Odoo.

Puedes abrir varias pestañas y arrastrarlas para organizar el diseño como quieras, por ejemplo, una al lado de la otra.
Monitoreo¶
Este enlace contiene varias métricas de monitoreo de la compilación actual.

Puedes ampliar, cambiar el intervalo o seleccionar una métrica específica en cada gráfico. Las anotaciones disponibles en los gráficos pueden ayudarte 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 tu 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.
Agregar nuevas líneas a los registros hará que aparezcan de forma automática. Si vas a la parte inferior, el navegador se desplazará en automático cada que haya una línea nueva.
Puedes pausar la captura de registros al hacer clic en el botón correspondiente en la esquina superior derecha de la vista. La captura se detiene de manera automática después de 5 minutos y puedes reanudarla con el botón «Iniciar».
Respaldos¶
Es una lista de los respaldos disponibles para descargar y restaurar. También es la opción de realizar una copia de seguridad manual y de importar una base de datos.

Odoo.sh respalda la base de datos de producción todos los días. Guarda 7 respaldos diarios, 4 semanales y 3 mensuales. Cada copia de seguridad incluye el dump o volcado de la base de datos, los archivos almacenados (archivos adjuntos, campos binarios) o filestore, los registros y las sesiones.
Las bases de datos de prueba y de desarrollo no cuentan con respaldos, pero puedes restaurar una copia de seguridad de la base de datos de producción en tus ramas de prueba o recuperar de forma manual los datos eliminados por accidente de la base de datos de producción.
La lista incluye los respaldos almacenados en el servidor donde está alojada tu base de datos de producción. Este servidor solo conserva un mes de respaldos: 7 diarios y 4 semanales.
Los servidores específicos de respaldo conservan las mismas copias, además de 3 respaldos mensuales adicionales. Contáctanos para restaurar o descargar uno de los respaldos mensuales.
Si fusionas una confirmación (o commit) que actualiza la versión de uno o varios módulos (en __manifest__.py
) o sus dependencias de Python relacionadas (en requirements.txt
), Odoo.sh realiza un respaldo automático (que aparece en la lista con el tipo Actualización), ya que es posible que se modifique el contenedor por la instalación de nuevos paquetes pip o que se cambie la base de datos con la actualización del módulo que se ejecuta después. En ambos casos haremos un respaldo porque podría ocurrir algún error.
Odoo.sh no hace un respaldo si fusionas una confirmación que solo cambia parte del código sin las modificaciones antes mencionadas, ya que ni el contenedor ni la base de datos tendrán modificaciones y la plataforma considera que es un movimiento seguro. Como precaución adicional, puedes hacer un respaldo manual antes de hacer cambios importantes en tu código de producción por si ocurre algún error (esos respaldos manuales están disponibles durante una semana). Limitamos los respaldos manuales a 5 diarios para que no haya uso excesivo de la función.
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 de prueba en proyectos válidos.
Ver también
Ajustes¶
Aquí encontrarás algunos ajustes que solo aplican a la rama seleccionada.

Comportamiento después de una nueva confirmación
Para las ramas de desarrollo y de prueba puedes cambiar su comportamiento después de recibir una nueva confirmación. De forma predeterminada, una rama de desarrollo creará una nueva compilación y una rama de prueba actualizará la compilación anterior (consulta Etapa de producción). Esto es útil si la función con la que estás trabajando requiere una configuración o preparación específica para que no tengas que volver a configurarla de forma manual en cada confirmación o commit. Si eliges una nueva compilación para una etapa de prueba, crearás una nueva copia de la compilación de producción cada vez que envíes tus cambios. Una rama que regresa del estado de prueba al de desarrollo estará configurada con la opción «No hacer nada» de forma automática.
Instalación de módulos
Elige los módulos que instalarás de forma automática en tus 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. Es necesario que uses los nombres técnicos de los módulos y que los separes 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 el módulo base.
Paquete de prueba
En las ramas de desarrollo puedes elegir si habilitar o deshabilitar el paquete de prueba que está activo de forma predeterminada. Cuando está habilitado, puedes restringirlo al definir algunas etiquetas de prueba.
Versión de Odoo
Solo para las ramas de desarrollo, puedes cambiar la versión de Odoo si deseas probar código actualizado o desarrollar funciones mientras tu base de datos de producción está en proceso de actualización a una versión más reciente.
Además, para cada versión tienes dos opciones para actualizar el código.
Puedes optar por la opción «Más reciente» para utilizar las últimas correcciones de errores, seguridad y rendimiento de forma automática y así las fuentes de tu servidor de Odoo se actualizarán semanalmente.
Puedes optar por fijar las fuentes de Odoo a una revisión específica al seleccionarla de una lista de fechas. Las revisiones vencen después de 3 meses. Recibirás un correo cuando se acerque la fecha de vencimiento y si no tomas ninguna medida te asignarán la última revisión en automático.
Dominios personalizados
Aquí puedes configurar más dominios para la rama seleccionada. Puedes agregar otros dominios <name>.odoo.com o tus propios dominios personalizados. Para hacer esto último, debes:
Ser propietario del nombre de dominio o adquirirlo.
Agregar el nombre del dominio a esta lista.
Ir al gestor de nombres de dominio de tu registrador y configurar el dominio con un registro
CNAME
definido como el nombre de dominio de tu base de datos de producción.
Por ejemplo, para asociar www.miempresa.com a tu base de datos miempresa.odoo.com:
En Odoo.sh, agrega www.miempresa.com a los dominios personalizados de los ajustes de tu proyecto.
En tu gestor de nombres de dominio (como godaddy.com, gandi.net u ovh.com), configura www.miempresa.com con un registro
CNAME
con miempresa.odoo.com como valor.
Los dominios simples (como miempresa.com) no son compatibles:
Solo puedes configurarlos con registros
A
.Los registros
A
solo aceptan direcciones IP como valor.La dirección IP de tu base de datos puede cambiar después de una actualización, error de hardware o si cambias su alojamiento 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 quieres que miempresa.com y www.miempresa.com funcionen con tu base de datos, puedes usar una de las mejores prácticas de SEO (consulta la sección Proporciona una versión de una URL para llegar a un documento) para que la primera dirección redirija a la segunda, así habrá una URL dominante. Por lo tanto, solo debes configurar el redireccionamiento de miempresa.com a www.miempresa.com. La mayoría de los gestores de dominios te permiten configurar esta redirección y a esto suele llamarse redireccionamiento web.
HTTPS/SSL
Si configuraste 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 será posible acceder a tu dominio mediante HTTPS.
Por el momento no es posible configurar tus 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 olvides autorizar a Odoo como host emisor en los ajustes de tu nombre de dominio para aumentar la entregabilidad de tus correos salientes. Consulta la documentación sobre SPF y DKIM para conocer los pasos de configuración.
Advertencia
No configurar el SPF o DKIM para autorizar a Odoo como host emisor podría ocasionar que tus correos lleguen a la bandeja de spam de tus contactos.
Comandos de shell¶
En la esquina superior derecha de la vista hay distintos comandos de shell disponibles.

Puedes copiar cada comando al portapapeles para usarlo en una terminal y también puedes ejecutar algunos desde Odoo.sh al hacer clic en el botón Ejecutar. En este caso, aparecerá una ventana emergente para que el usuario defina los marcadores de posición eventuales como <URL>
, ``<PATH>``y otros.
Clonar¶
Descarga el repositorio de Git.
$ git clone --recurse-submodules --branch master git@github.com:odoo/odoo.git
Clona el repositorio odoo/odoo.
--recurse-submodules
: descarga los submódulos de tu repositorio. También descarga los submódulos incluidos dentro de otros submódulos.--branch
: cambia a una rama específica del repositorio, en este caso a master.
El botón Ejecutar no está disponible para este comando, ya que está pensado para que lo uses en tus máquinas.
Bifurcar¶
Crea una nueva rama basada en la rama actual.
$ git checkout -b feature-1 master
Crea una nueva rama llamada feature-1 basada en la rama master y luego cambia a ella.
$ git push -u origin feature-1
Sube la nueva rama feature-1 a tu repositorio remoto.
Fusionar¶
Fusiona la rama actual con otra rama.
$ git merge staging-1
Fusiona la rama staging-1 con la rama actual.
$ git push -u origin master
Sube los cambios que agregaste a la rama master de tu repositorio remoto.
SSH¶
Configuración¶
Es necesario que configures la clave pública SSH en tu perfil (si aún no lo has hecho) para poder utilizar SSH. Sigue estos pasos:
Copia la clave SSH a tu portapapeles (solo sigue el primer paso de esta página).
Pega el contenido en las claves SSH de tu perfil y haz clic en «Agregar».
La clave debe aparecer abajo.
Conexión¶
Usa el siguiente comando en una terminal para conectarte a tus compilaciones mediante SSH:
$ ssh <build_id>@<domain>
En la esquina superior derecha de la pestaña SSH hay un atajo para este comando.

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