Ir al contenido

Flujo git y despliegue manual

No se trabaja en main. La rama de desarrollo es serconsa-react.

Ventana de terminal
git checkout serconsa-react
# trabajar...
git add .
git commit -m "tipo(scope): descripcion"
git push origin serconsa-react

serconsa.ovlicuo.com es esta misma máquina. No hay CI/CD para serconsa-react.

El contenedor monta ./backend/app con --reload, así que los cambios se recargan solos.

Para aplicar migraciones nuevas:

Ventana de terminal
docker exec -w /app serconsa-backend sh -c "PYTHONPATH=/app alembic upgrade head"

Reconstruir y levantar:

Ventana de terminal
docker compose build frontend
docker compose up -d frontend

Tras validar en desarrollo:

Ventana de terminal
git checkout main
git merge --ff-only serconsa-react
git push origin main

El push a main dispara el pipeline de GitLab CI/CD que despliega en serconsa.dlmapp.net (servidor 146.59.171.101).

Volver siempre a serconsa-react:

Ventana de terminal
git checkout serconsa-react

Si una feature necesita aplicarse selectivamente:

Ventana de terminal
git checkout serconsa-react
git cherry-pick <commit-de-main>

Resuelve conflictos, commitea y pushea.

Configurado en .gitlab-ci.yml:

stages:
- lint
- build-backend
- build-frontend
- deploy

Jobs:

  • backend-lint: ruff check app.
  • frontend-lint: npm run lint || true.
  • build-backend: construye imagen Docker y la publica en el registry.
  • build-frontend: construye imagen Docker y la publica en el registry.
  • deploy: copia docker-compose.prod.yml al servidor vía SSH y ejecuta docker compose up -d.

Solo se ejecuta en pushes a main.

Entorno URL Servidor Cómo se despliega
Desarrollo https://serconsa.ovlicuo.com Local Manual (docker compose)
Producción https://serconsa.dlmapp.net 146.59.171.101 GitLab CI/CD

serconsa.ovlicuo.com es desarrollo, nunca producción.

serconsa-react → validar en dev (local) → merge --ff-only a main → CI/CD → prod