73e739351c
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
rx.scoreodonto.com-client — Plano de deploy (delta do client.exe)
Delta específico deste projeto. O modelo universal está em
../../deploy/. Aqui só o que difere: é um app desktop Electron (não um serviço web), distribuído por auto-update (electron-updater).
O que torna este projeto diferente
- Electron + electron-builder (target NSIS, Windows x64), cross-compile no Linux (VPS4).
- Auto-update via
electron-updater(providergeneric) → o.exeinstalado puxa dehttps://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.ymlpublicados emdental-server/updates/. - Versão é BUILD-TIME (embutida no
.exe; oelectron-updatercompara 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 (CORTE FEITO em 18/jun/2026 — pipeline novo ativo)
- Versão vem da tag (
git tag vX.Y.Z→npm versionno CI; hoje publicada1.3.9). - CI no Gitea Actions (runner
vps4-builder, agora instance-scoped — atende todos os repos): push na main → build de validação (não publica); tagv*→ release (builda com a versão da tag +rsyncdo.exe/latest.ymlp/ VPS1updates/). - Gatilho antigo desligado:
webhook-rx-client.service(:9004)disable --now+ webhook Gitea id 13active=false.deploy-client.shficou obsoleto. - Backup do
updates/pré-corte:updates.bak_20260618_0023na VPS1 (rollback).
Plano (Build Once → Promote → Deploy, adaptado)
| Fase | O que | Status |
|---|---|---|
| 1 | Exibir a versão na UI (menu do tray, app.getVersion()) |
✅ (commit cf16f49) |
| 2 | CI: push na main → build de validação (cross-compile, NÃO publica) | ✅ validado em prod (run 45 = success) |
| 3 | Tag → release: builda COM a versão da tag (npm version) + publica .exe/latest.yml em updates/ (rsync VPS1) |
✅ v1.3.9 publicada |
| 4 | Corte: desligar webhook-rx-client.service (9004) + webhook Gitea |
✅ infra cortada |
| 4b | Validar o auto-update num Windows de teste (1.3.8 → 1.3.9) | ⏳ pendente (depende do Windows de teste) |
| 5 | Manter este documento atualizado | ✅ |
Riscos a tratar
- Cross-compile Windows no Linux (electron-builder/wine) no CI.
- Code signing do
.exe(SmartScreen) — pendência antiga do RX. - NÃO quebrar o
latest.ymldos clients instalados nas clínicas — um arquivo errado afeta o update de todos. Testar antes do corte. - O
electron-updater/latest.ymlnão muda — só a origem da versão (tag) e o pipeline.