diff --git a/projetos/rx.scoreodonto.com-client/plano-deploy.md b/projetos/rx.scoreodonto.com-client/plano-deploy.md index 8b2d5d3..ba9482e 100644 --- a/projetos/rx.scoreodonto.com-client/plano-deploy.md +++ b/projetos/rx.scoreodonto.com-client/plano-deploy.md @@ -6,6 +6,7 @@ - **Electron + electron-builder** (target NSIS, Windows x64), **cross-compile no Linux** (VPS4). - **Auto-update** via `electron-updater` (provider `generic`) → o `.exe` instalado puxa de `https://rx.scoreodonto.com/updates/latest.yml`. **Esse mecanismo é mantido** (clients em campo dependem dele). - Não é "imagem Docker promovida" como os serviços web — o artefato é o **`.exe` + `latest.yml`** publicados em `dental-server/updates/`. +- **Versão é BUILD-TIME** (embutida no `.exe`; o `electron-updater` compara versões): **não há "build once" puro**. A **release é buildada na TAG** (com a versão da tag); o **push só valida** que compila. (É o oposto dos serviços web, onde a versão é injetada em runtime.) ## Estado atual (analisado em 17/jun/2026) - Versão vem do **`package.json`** (manual; hoje `1.3.8`). @@ -15,10 +16,10 @@ ## Plano (Build Once → Promote → Deploy, adaptado) | Fase | O que | Status | |---|---|---| -| 1 | **Versão pela tag** + exibir a versão na UI | 🧪 em andamento (dev) | -| 2 | **CI build por commit** (`.gitea/workflows`): builda o `.exe` e guarda como artefato; não publica em prod | 🎯 | -| 3 | **Promote por tag**: pega o `.exe` do commit, gera `latest.yml` com a versão da tag e publica em prod `updates/` | 🎯 | -| 4 | **Corte**: desligar `webhook-rx-client.service` (9004) e validar o auto-update dos clients em campo | 🎯 | +| 1 | Exibir a versão na UI (menu do tray, `app.getVersion()`) | ✅ (dev, sem push) | +| 2 | **CI**: push na main → **build de validação** (cross-compile, **NÃO publica**) | 🧪 (`.gitea/workflows/build.yml` criado, dev) | +| 3 | **Tag → release**: builda COM a versão da tag (`npm version`) + publica `.exe`/`latest.yml` em `updates/` (rsync VPS1) | 🎯 | +| 4 | **Corte**: desligar `webhook-rx-client.service` (9004); validar o auto-update dos clients em campo | 🎯 | | 5 | Manter este documento atualizado | — | ## Riscos a tratar