From 73e739351c9b7b292720838d5c7e58ed3b246cbe Mon Sep 17 00:00:00 2001 From: VPS 4 Deploy Agent Date: Thu, 18 Jun 2026 00:42:49 +0200 Subject: [PATCH] =?UTF-8?q?docs(rx-client):=20corte=20para=20CI/tag=20feit?= =?UTF-8?q?o=20=E2=80=94=20v1.3.9=20publicada,=20webhook=209004=20off,=20r?= =?UTF-8?q?unner=20instance-scoped?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .../rx.scoreodonto.com-client/plano-deploy.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/projetos/rx.scoreodonto.com-client/plano-deploy.md b/projetos/rx.scoreodonto.com-client/plano-deploy.md index ba9482e..e299496 100644 --- a/projetos/rx.scoreodonto.com-client/plano-deploy.md +++ b/projetos/rx.scoreodonto.com-client/plano-deploy.md @@ -8,19 +8,21 @@ - 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`). -- Build/publish via **`deploy-client.sh`**, disparado pelo **webhook porta 9004** no push (push → build + publica em produção) ou manual: `electron-builder --win --x64 --publish never` → `rsync` do `.exe`+`latest.yml` para a VPS1 `updates/`. -- **Sem CI**, sem build-once/promote, sem rastreabilidade commit→artefato. +## Estado atual (CORTE FEITO em 18/jun/2026 — pipeline novo ativo) +- Versão vem da **tag** (`git tag vX.Y.Z` → `npm version` no CI; hoje publicada `1.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); **tag `v*`** → **release** (builda com a versão da tag + `rsync` do `.exe`/`latest.yml` p/ VPS1 `updates/`). +- Gatilho antigo **desligado**: `webhook-rx-client.service` (:9004) `disable --now` + webhook Gitea id 13 `active=false`. `deploy-client.sh` ficou **obsoleto**. +- Backup do `updates/` pré-corte: `updates.bak_20260618_0023` na VPS1 (rollback). ## Plano (Build Once → Promote → Deploy, adaptado) | Fase | O que | Status | |---|---|---| -| 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 | — | +| 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.