sistema-de-chamados/docs/desktop/updater.md

4 KiB

Checklist de Publicação — Updater do Agente Desktop

Este guia consolida tudo o que precisa ser feito para que o auto-update do Tauri funcione em cada release.


1. Preparação (uma única vez)

  1. Gerar o par de chaves (Linux ou WSL)

    pnpm -C apps/desktop tauri signer generate -w ~/.tauri/raven.key
    
    • Privada: ~/.tauri/raven.key (nunca compartilhar)
    • Pública: ~/.tauri/raven.key.pub (cole em tauri.conf.json > plugins.updater.pubkey)
    • Se for buildar em outra dispositivo (ex.: Windows), copie os dois arquivos para C:\Users\<usuario>\.tauri\raven.key(.pub).
  2. Verificar o tauri.conf.json

    {
      "bundle": { "createUpdaterArtifacts": true },
      "plugins": {
        "updater": {
          "active": true,
          "endpoints": ["https://.../latest.json"],
          "pubkey": "<conteúdo da raven.key.pub>"
        }
      }
    }
    

2. Antes de cada release

  1. Sincronizar versão (mesmo número nos três arquivos):

    • apps/desktop/package.json
    • apps/desktop/src-tauri/tauri.conf.json
    • apps/desktop/src-tauri/Cargo.toml
  2. Build do front (gera dist/ para o Tauri)

    pnpm -C apps/desktop build
    
  3. Exportar variáveis do assinador (no mesmo shell em que vai buildar):

    export TAURI_SIGNING_PRIVATE_KEY="$(cat ~/.tauri/raven.key)"
    export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="<senha-da-chave>"
    

    No PowerShell, use setx para persistir ou execute set/$env: no terminal atual.

  4. Gerar os instaladores + .sig

    pnpm -C apps/desktop tauri build
    

    Os artefatos ficam em apps/desktop/src-tauri/target/release/bundle/:

    SO Bundle principal Assinatura gerada
    Windows nsis/Raven_0.X.Y_x64-setup.exe nsis/Raven_0.X.Y_x64-setup.exe.sig
    Linux appimage/Raven_0.X.Y_amd64.AppImage appimage/Raven_0.X.Y_amd64.AppImage.sig
    macOS macos/Raven.app.tar.gz macos/Raven.app.tar.gz.sig

3. Publicar no GitHub

  1. Criar/atualizar release (ex.: v0.1.7) anexando todos os instaladores e seus .sig.
  2. Atualizar latest.json (no próprio repo ou em um gist público) com algo como:
    {
      "version": "0.1.7",
      "notes": "Novidades do release",
      "pub_date": "2025-10-12T08:00:00Z",
      "platforms": {
        "windows-x86_64": {
          "signature": "<conteúdo de Raven_0.1.7_x64-setup.exe.sig>",
          "url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.7/Raven_0.1.7_x64-setup.exe"
        },
        "linux-x86_64": {
          "signature": "<conteúdo de Raven_0.1.6_amd64.AppImage.sig>",
          "url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven_0.1.6_amd64.AppImage"
        },
        "darwin-x86_64": {
          "signature": "<conteúdo de Raven.app.tar.gz.sig>",
          "url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven.app.tar.gz"
        }
      }
    }
    
    • Pegue o link Raw do latest.json e mantenha igual ao usado no tauri.conf.json.

4. Validar rapidamente

  1. Instale a versão anterior (ex.: 0.1.5) e abra.
  2. O agente deve avisar sobre a nova versão e reiniciar automaticamente ao concluir a instalação.
  3. Caso queira forçar manualmente, abra a aba Configurações → Verificar atualizações.

5. Resumo rápido

  1. pnpm -C apps/desktop build
  2. export TAURI_SIGNING_PRIVATE_KEY=... / export TAURI_SIGNING_PRIVATE_KEY_PASSWORD=...
  3. pnpm -C apps/desktop tauri build
  4. Upload dos bundles + .sig → atualizar latest.json
  5. Testar o instalador antigo para garantir que atualiza sozinho

Com isso, os usuários sempre receberão a versão mais recente assim que abrirem o agente desktop.