🔴 Despliegue con Doodba: Metodo con dos ambientes, prod y test
🔴

Despliegue con Doodba: Metodo con dos ambientes, prod y test

💡

Objetivo del procedimiento: ¿Para que sirve?

Sirve para desplegar odoo con Doodba y obtener dos ambientes, uno para test y otro para producción totalmente separados uno del otro

💡

Rol que lo ejecuta: ¿Quien puede ejecutar este procedimiento?

Pueden ejecutarlo los siguientes roles:

  • Devops
  • Desarrollador

Requerimientos

  • 1 Cloud
  • Al menos 2 urls (Una para testing y otra para producción)
  • Trabajar en root

Procedimiento

Creación del Proyecto

  1. Crear proyecto local con doodba y subitlo a github con ramas prod y test. 
    1. No es necesario que tenga el prefijo "do-"
    2. Las ramas "prod" y "test" por ahora deben ser espejos, con la unica diferencia del archivo .copier-answers.yml
      1. En "prod" completamos las siguientes preguntas
        1. domains_prod: (La o las urls de producción)
        2. domains_test: Nada
        3. odoo_dbfilter: prod_[NOMBRE_PROYECTO]
        4. odoo_listdb: False
        5. odoo_oci_image: docker.io/marionumza/[NOMBRE_PROYECTO]
        6. odoo_proxy: traefik
        7. odoo_version: (La versión de Odoo a instalar)
        8. postgres_dbname: prod_[NOMBRE_PROYECTO]
        9. project_name: [NOMBRE_PROYECTO]
      2. En "test" completamos las siguientes preguntas
        1. domains_prod: Nada
        2. domains_test: (La o las urls de testing)
        3. odoo_dbfilter: prod_[NOMBRE_PROYECTO]
        4. odoo_listdb: False
        5. odoo_oci_image: docker.io/marionumza/[NOMBRE_PROYECTO]
        6. odoo_proxy: traefik
        7. odoo_version: (La versión de Odoo a instalar)
        8. postgres_dbname: prod_[NOMBRE_PROYECTO]
        9. project_name: [NOMBRE_PROYECTO]

Descarga de proyecto en cloud

  1. Descargar en el cloud de forma estructurada
    1. Metodo carpetas separadas: se debe colocar un prefijo al comienzo de cada carpeta segun sea el ambiente (prod o test)
      1. git clone -b [AMBIENTE] git@github:[USUARIO]/[NOMBRE_PROYECTO] [AMBIENTE]-[NOMBRE_PROYECTO]
        1. Ejemplo: git clone -b prod git@github:marionumza/manhatan18ee prod-manhatan18ee
    2. Metodo subcarpetas: se debe crear una carpeta de proyecto y adentro crear subcarpetas de ambientes
      1. Crear carpeta de proyecto
        1. mkdir [NOMBRE_PROYECTO]
      2. Descargar github dentro de la carpeta creada igual que el primer metodo

Acceso de clave publica

  1. Copiar la clave publica de root adentro del proyecto doodba
    1. cp /root/.ssh/id_rsa.pub /opt/odoo/do-spicebox18ee/odoo/custom/ssh/
    2. cp /root/.ssh/id_rsa /opt/odoo/do-spicebox18ee/odoo/custom/ssh/
    3. cp /root/.ssh/known_hosts /opt/odoo/do-spicebox18ee/odoo/custom/ssh/
  2. Copiar la clave publica en el repositorio de claves publicas de gibhub
    1. cat /root/.ssh/id_rsa.pub -> Copiar esta clave y pegarla en gihub / settings / SSH and GPG Keys -> New SSH Key (Boton) -> Colocar un titulo y pegarla en la caja "Key"

Desplegar Odoo Prod o Testing

  1. Ingresar adentro de alguno de los ambientes (Prod o Test, normalmente prod al comienzo)
  2. Ejecutar despliegue
    1. docker-compose up -d
  3. Ingresar en la url de producción, quizas nos de un error
  4. Instalar modulo "base"
    1. docker-compose run --rm odoo --stop-after-init -i base
  5. Bajar ambiente y volver a levantar
    1. docker-compose down && docker-compose up -d

Resultado esperado

  • Debe verse la pantalla de login de Odoo en la url de producción


💡

Siguiente procesos: ¿Que hacer despues?

  • Crear plan de trabajo para mantenimiento y copias de seguridad
  • Restaurar base de datos
  • Comenzar a instalar modulos en Odoo
  • Crear un ambiente de testing