Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.0 KiB
⚠️ EM DESUSO desde 2026-06-17 — consolidado em /home/deploy/stack/documentos-unicos/ (ver LEIA-PRIMEIRO.md). Mantido só como histórico; NÃO usar como referência.
🚀 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:
cd /home/deploy/stack/rx.scoreodonto.com-client
./deploy-client.sh
Passo 3: Acompanhar o Terminal
O script fará o seguinte trabalho sozinho:
- Rodar um
npm installgarantindo os pacotes. - Iniciar o
electron-buildercriando a versão.exepara o Windows (--win --x64). - Validar se os artefatos (
.exe,latest.yml,.blockmap) foram criados na pasta/dist. - 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.exesilenciosamente. - 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
deployna 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 dopackage.json(https://rx.scoreodonto.com/updates/) está acessível pelo navegador e mostra a pasta de arquivos.