From f3f4b66fec0ef17ce847311f8d0019d66b8608f3 Mon Sep 17 00:00:00 2001 From: AI Assistant Date: Fri, 29 May 2026 04:13:39 +0200 Subject: [PATCH] Add WIKI_DEPLOY_CLIENT.md --- WIKI_DEPLOY_CLIENT.md | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 WIKI_DEPLOY_CLIENT.md diff --git a/WIKI_DEPLOY_CLIENT.md b/WIKI_DEPLOY_CLIENT.md new file mode 100644 index 0000000..df10ed9 --- /dev/null +++ b/WIKI_DEPLOY_CLIENT.md @@ -0,0 +1,50 @@ +# 🚀 Deploy do ScoreOdonto Dental Client (Windows) + +Este documento detalha o processo de compilação e distribuição de novas atualizações do programa desktop (Windows) que fica nas máquinas das clínicas, diretamente pelo nosso servidor Linux (VPS 4). + +## 🛠 Como funciona a Arquitetura +O nosso cliente é construído usando **Electron**. +A compilação cruzada (Cross-compile) acontece de forma automatizada: nossa máquina Linux (VPS 4) empacota o código-fonte em um instalador Windows `.exe`. +Após a compilação, o script joga os binários automaticamente para a pasta de produção na **VPS 1**, e o sistema de Auto-Update avisa as clínicas. + +--- + +## 📦 Passo a Passo para Lançar uma Nova Versão + +Sempre que você fizer alterações no código do cliente (ex: `index.js`, `client-monitor.js`, etc) e quiser mandar para os clientes, siga esta receita: + +### Passo 1: Atualizar a Versão +Abra o arquivo `package.json` localizado na pasta do cliente (`rx.scoreodonto.com-client/`). +Altere o número da versão na linha `"version"`. +*Dica: Sempre suba a versão para que o Auto-Update do Windows reconheça a novidade (Ex: de `"1.2.7"` para `"1.2.8"`).* + +### Passo 2: Executar o Script de Deploy +Pelo terminal, dentro da pasta do cliente na **VPS 4**, execute o script mágico: +```bash +cd /home/deploy/stack/rx.scoreodonto.com-client +./deploy-client.sh +``` + +### Passo 3: Acompanhar o Terminal +O script fará o seguinte trabalho sozinho: +1. Rodar um `npm install` garantindo os pacotes. +2. Iniciar o `electron-builder` criando a versão `.exe` para o Windows (`--win --x64`). +3. Validar se os artefatos (`.exe`, `latest.yml`, `.blockmap`) foram criados na pasta `/dist`. +4. Conectar na **VPS 1** e transferir (via `rsync`) os arquivos para a pasta pública: `/home/deploy/stack/rx.scoreodonto.com/dental-server/updates`. + +Você verá a mensagem: `✅ Build e distribuição do client concluídos com sucesso!` + +### Passo 4: Auto-Update nas Clínicas +A partir do momento em que a VPS 1 receber o arquivo `latest.yml` e o novo `.exe`, o sistema já está no ar. +Nas clínicas: +- Na próxima vez que o programa cliente for iniciado (ou após o intervalo padrão do `electron-updater`), ele baixará o `.exe` silenciosamente. +- Ele pedirá ao usuário para reiniciar e aplicar o update. +- Nenhuma intervenção manual é necessária! + +--- + +## ⚠️ Solução de Problemas + +- **Erro de conexão ao enviar para a VPS 1:** Verifique se as chaves SSH do usuário `deploy` na VPS 4 têm permissão irrestrita na VPS 1 (`10.99.0.1`). +- **O instalador falha no Windows:** Se você instalou pacotes nativos (C++) pesados, a compilação cruzada no Linux pode quebrar. Evite bibliotecas nativas pesadas no lado do cliente. +- **O Auto-Update não detecta a versão:** Confirme se a URL em `"publish"` dentro do `package.json` (`https://rx.scoreodonto.com/updates/`) está acessível pelo navegador e mostra a pasta de arquivos.