Infra Git: Gitea como source of truth + remoto de deploy para feadulta.com #13
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Labels: area:infra
Contexto
Ahora mismo el repo local de trabajo de Feadulta solo tiene un remoto:
El hosting de feadulta.com permite crear un repositorio Git desde el panel. Además, puede haber trabajo paralelo hecho por varios agentes/personas, por ejemplo Codex y Claude Code.
La pregunta real no es tanto como sincronizar dos repositorios en ambos sentidos, sino cual debe ser la fuente de verdad para evitar divergencias y despliegues incoherentes.
Recomendacion
No montar sincronizacion bidireccional Gitea <-> hosting.
Recomiendo este modelo:
En otras palabras: no sincronizar dos repos activos, sino tener un repo principal y un repo de despliegue.
Por que esta opcion es la mejor
1. Evita divergencias silenciosas
Si el repo del hosting y el repo de Gitea aceptan commits independientes, tarde o temprano habra:
Eso empeora mucho si ademas trabajais tu, tu hermana y agentes distintos.
2. Encaja bien con trabajo paralelo
Con dos personas o agentes trabajando a la vez, lo correcto es coordinarse en Gitea:
El hosting debe ser solo el destino final del codigo ya integrado.
3. Permite rollback y trazabilidad
Si produccion sale de commits ya presentes en Gitea, cada deploy corresponde a un commit SHA concreto.
Entonces se puede:
Arquitectura sugerida
Flujo base
Regla operativa importante
Coordinacion contigo + tu hermana + agentes
Reglas minimas
Para cambios que se pisan
Si dos agentes van a tocar la misma zona, por ejemplo plantilla de portada, scripts de importacion o deploy, conviene:
Opciones concretas de despliegue
Opcion A: repo del hosting como checkout desplegable
Si el panel del hosting crea un repo conectado a un directorio publicado y permite desplegarlo, usarlo como remoto production.
Ventajas:
Riesgo:
Opcion B: repo bare en hosting + hook post-receive
Si el hosting lo permite, esta es la opcion mas limpia tecnicamente:
Ventajas:
Inconveniente:
Recomendacion practica
Pero en ambos casos la regla sigue siendo la misma:
Configuracion propuesta
Ejemplo conceptual:
git remote add production
git push production main
Y mantener:
origin -> Gitea
production -> hosting
Que evitar
Evitar estas dos ideas:
Mirror bidireccional automatico entre Gitea y hosting.
Editar produccion y luego traer cambios de vuelta.
Plan de implementacion sugerido
Criterios de aceptacion
Decision propuesta
Adoptar desde ya este principio:
Gitea es la fuente unica de verdad; el Git del hosting es solo el destino de despliegue.
Si se acepta, el siguiente paso seria abrir una sub-tarea tecnica para:
Resuelto con approach diferente (2026-06-28)
El plan original contemplaba usar el repo Git del hosting de CDMON como remoto de deploy. Finalmente hemos ido por un camino mejor:
Lo que se hizo:
El modelo resultante:
gitea.feadulta.com= source of truth (no el Gitea local de Tailscale)git pushdesde Gitea al servidor, sin pasar por CDMONLos principios del issue (Gitea manda, hosting recibe, nunca editar producción directamente) siguen siendo válidos y se aplicarán cuando se monte el pipeline de deploy en el servidor Hetzner.