viernes, 25 de julio de 2025

Comandos docker para subir cambios en git en servidor o en local

git pull 

docker ps -a

docker stop vue-app Detiene proceso

docker rm vue-app  Borrar

docker-compose build --no-cache Reconstruye desde cero SIN CACHÉ

docker-compose up -d lanzar contenedores


jueves, 24 de julio de 2025

Cómo instalar apps en Odoo

Para instalar una aplicación en Odoo en un servidor, 

primero debes ubicar la carpeta de addons de Odoo

luego colocar el módulo (descomprimido) en esa carpeta.

Reinicia el servicio de Odoo sudo systemctl restart odoo 

Activa el modo desarrollador, y finalmente, actualiza la lista de aplicaciones desde la interfaz de Odoo para que la nueva aplicación aparezca y puedas instalarla. (a veces no sale con el nombre exacto y hay que buscarlo en  todas las app sin filtro)

Pasos detallados:

1. Localizar la carpeta de addons:

La ubicación de la carpeta de addons puede variar dependiendo de tu configuración, pero generalmente se encuentra dentro del directorio de instalación de Odoo. 

2. Copiar el módulo:

Descarga el módulo que deseas instalar (generalmente en formato zip) y descomprímelo. Luego, copia la carpeta del módulo a la carpeta de addons de Odoo. 

3. Reiniciar el servicio Odoo:

Detén y reinicia el servicio Odoo para que detecte el nuevo módulo. La forma de hacerlo dependerá de tu sistema operativo y configuración. 

4. Activar el modo desarrollador:

En la interfaz de Odoo, ve a "Ajustes" (o "Configuración") y activa el "Modo Desarrollador". 

5. Actualizar la lista de aplicaciones:

En la sección "Aplicaciones", haz clic en "Actualizar lista de aplicaciones". 

6. Instalar el módulo:

Busca el módulo recién instalado en la lista de aplicaciones y haz clic en "Instalar".   en _manifest__.py se encuentra el nombre de la app

lunes, 14 de julio de 2025

Como hacer un login de google en Shopify

📄 Paso 2: Editar el tema Dawn (login.liquid)

Ve a tu panel Shopify:

  1. Online StoreThemes → “Dawn” → Actions → Edit Code

  2. Abre el archivo: sections/main-login.liquid o templates/customers/login.liquid

  3. Agrega este código justo debajo del formulario o donde prefieras mostrar el botón:


<div id="g_id_onload" data-client_id="TU_CLIENT_ID_DE_GOOGLE" data-callback="handleCredentialResponse" data-auto_prompt="false"> </div> <div style="width: 100%; display: flex; justify-content: center; align-items: center; "> <div class="g_id_signin" data-type="standard" data-size="large" data-theme="outline" data-text="sign_in_with" data-shape="rectangular" data-logo_alignment="left" > </div> </div> <script src="https://accounts.google.com/gsi/client" async defer></script> <script> function handleCredentialResponse(response) { // Decodificamos el token JWT const token = response.credential; const payload = JSON.parse(atob(token.split('.')[1])); const email = payload.email; const name = payload.name; // Guardar temporalmente en localStorage localStorage.setItem("google_email", email); localStorage.setItem("google_name", name); // Redirigir al registro window.location.href = "/account/register"; } </script>

🧩 Paso 3: Prefill en /account/register (opcional)

  1. Edita el archivo customers/register.liquid

  2. Agrega este script al final del archivo:


<script> document.addEventListener("DOMContentLoaded", function() { const email = localStorage.getItem("google_email"); const name = localStorage.getItem("google_name"); if (email) { const emailField = document.querySelector('input[name="customer[email]"]'); if (emailField) emailField.value = email; } if (name) { const firstNameField = document.querySelector('input[name="customer[first_name]"]'); if (firstNameField) firstNameField.value = name.split(" ")[0]; const lastNameField = document.querySelector('input[name="customer[last_name]"]'); if (lastNameField) lastNameField.value = name.split(" ").slice(1).join(" "); } }); </script>

Esto rellena automáticamente el formulario de registro con el nombre y correo que el usuario usó en su cuenta de Google.


✅ Resultado final

  • El usuario ve el botón “Sign in with Google”

  • Al hacer clic:

    • Se captura su nombre y correo electrónico

    • Se le redirige a /account/register

    • Se rellena el formulario automáticamente

  • El usuario solo necesita poner una contraseña y hacer clic en "Crear cuenta"

lunes, 30 de junio de 2025

Optimizar BD en phpmyadmin en siteground

 Paso 1: Ir al phpmyadmin a la BD


SELECT * FROM ela_posts

WHERE post_type = 'revision';


DELETE FROM ela_posts

WHERE post_type = 'revision';


Paso 2: 

limpia el postmeta huérfano, de cualquier plugin o metakey

select * FROM ela_postmeta

WHERE post_id NOT IN (SELECT ID FROM ela_posts);


DELETE FROM ela_postmeta

WHERE post_id NOT IN (SELECT ID FROM ela_posts);


Paso 3 (opcional): Optimizar


OPTIMIZE TABLE ela_postmeta;

OPTIMIZE TABLE ela_posts;


lunes, 19 de mayo de 2025

Como resolver el error de puerto de moodle en local

 

Cierra completamente XAMPP

  • Cierra el Panel de Control.

  • Mata cualquier proceso de Apache que haya quedado en segundo plano:

    En CMD (como administrador):

    taskkill /F /IM httpd.exe

sábado, 17 de mayo de 2025

lunes, 5 de mayo de 2025

Herramientas fundamentales para aprender para CI/CD

 Herramientas fundamentales para aprender para CI/CD

1. Git (Primero)

  • Qué es: Sistema de control de versiones.

  • Para qué sirve: Te permite llevar el control de los cambios en tu código fuente localmente y en equipo.

  • Aprendizaje clave: git init, git add, git commit, git push, git pull, branch, merge, etc.

  • Es la base. Todo lo demás depende de saber Git.

2. GitLab (Segundo)

  • Qué es: Plataforma de alojamiento de repositorios Git (como GitHub), con herramientas de integración continua y gestión de proyectos.

  • Para qué sirve: Subes tus repositorios, colaboras con otros y automatizas procesos.

  • Aprendizaje clave: cómo subir proyectos, usar issues, pipelines, merge requests, etc.

 Puedes aprender GitHub o GitLab indistintamente, ya que cumplen funciones similares. Si tu empresa usa GitLab, aprende GitLab. Si usas GitHub, sigue con GitHub.

3. GitHub Actions o GitLab CI/CD (Tercero)

  • Qué es: Herramientas de integración y entrega continua (CI/CD).

  • Para qué sirve: Automatizar tareas como pruebas, despliegue de código, compilación, etc.

  • Aprendizaje clave:

    • YAML básico

    • Definir workflows

    • Automatizar builds, tests, deploys


  1. Git → base fundamental.

  2. GitHub o GitLab → elegir una plataforma para alojar repositorios.

  3. GitHub Actions o GitLab CI/CD → automatización avanzada con pipelines.

Blogs Colombia