Files
rx.scoreodonto.com-client/WIKI_DEPLOY_CLIENT.md
T
2026-05-29 04:13:39 +02:00

2.9 KiB

🚀 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:

  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.