Files
2026-05-29 04:13:39 +02:00

51 lines
2.9 KiB
Markdown

# 🚀 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.