docs: registrar fluxo do updater e atualizar chaves
This commit is contained in:
parent
206d00700e
commit
b5fd920efd
50 changed files with 980 additions and 93 deletions
13
docs/DEV.md
13
docs/DEV.md
|
|
@ -48,11 +48,19 @@ Observação: evitar `prisma/.env` nesse setup, pois causa conflito com o `.env`
|
|||
|
||||
- Onde foram feitas as mudanças principais:
|
||||
- `apps/desktop/src/components/ui/tabs.tsx` (Tabs Radix + estilos shadcn-like)
|
||||
- `apps/desktop/src/main.tsx` (layout com abas: Resumo/Inventário/Diagnóstico/Configurações; status badge; botão “Enviar inventário agora”).
|
||||
- `apps/desktop/src/main.tsx` (layout com abas: Resumo/Inventário/Diagnóstico/Configurações; status badge; botão “Enviar inventário agora”; seleção do perfil de acesso colaborador/gestor e sincronização do usuário vinculado).
|
||||
- `apps/desktop/src-tauri/src/agent.rs` (coleta e normalização de hardware, discos, GPUs e inventário estendido por SO).
|
||||
|
||||
- Variáveis de ambiente do Desktop (em tempo de build):
|
||||
- `VITE_APP_URL` e `VITE_API_BASE_URL` — por padrão, use a URL da aplicação web.
|
||||
|
||||
### Atualizações automáticas (GitHub)
|
||||
|
||||
1. Gere o par de chaves do updater (`pnpm tauri signer generate -- -w ~/.tauri/raven.key`) e configure as variáveis de ambiente `TAURI_SIGNING_PRIVATE_KEY` e `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` antes de rodar `pnpm -C apps/desktop tauri build`.
|
||||
2. Garanta que `bundle.createUpdaterArtifacts` esteja habilitado (já configurado) para gerar os pacotes `.nsis`/`.AppImage` e os arquivos `.sig`.
|
||||
3. Publique os artefatos de cada SO em um release do GitHub e atualize o `latest.json` público (ex.: no próprio repositório ou em um gist) com `version`, `notes`, `pub_date` e as entradas por plataforma (`url` e `signature`).
|
||||
4. O agente já consulta o updater ao iniciar e também possui o botão “Verificar atualizações” na aba Configurações. Ao detectar nova versão o download é feito em segundo plano e o app reinicia automaticamente após o `downloadAndInstall`.
|
||||
|
||||
### Build do executável localmente
|
||||
|
||||
Você pode gerar o executável local sem precisar da VPS. O que muda é apenas o sistema operacional alvo (Linux/Windows/macOS). O Tauri recomenda compilar em cada SO para obter o bundle nativo desse SO. Em produção, o GitHub Actions já faz isso em matriz.
|
||||
|
|
@ -77,6 +85,7 @@ pnpm -C apps/desktop tauri build
|
|||
- Os artefatos ficam em: `apps/desktop/src-tauri/target/release/bundle/`
|
||||
- No Linux: `.AppImage`/`.deb`/`.rpm` (conforme target)
|
||||
- No Windows/macOS: executável/instalador específicos do SO (para assinatura, usar chaves/AC, se desejado)
|
||||
- Para liberar atualizações OTA, publique release no GitHub com artefatos e `latest.json` — o plugin de updater verifica a URL configurada em `tauri.conf.json`.
|
||||
|
||||
### Build na VPS x Local
|
||||
|
||||
|
|
@ -86,6 +95,7 @@ pnpm -C apps/desktop tauri build
|
|||
|
||||
- `desktop-release.yml` (Tauri): instala dependências, faz build por SO e publica artefatos. Mantendo o `pnpm-lock.yaml` atualizado, o passo `--frozen-lockfile` passa.
|
||||
- `ci-cd-web-desktop.yml`: já usa `pnpm install --no-frozen-lockfile` no web, evitando falhas em pipelines de integração.
|
||||
- Smoke de provisionamento pode ser desligado definindo `RUN_MACHINE_SMOKE=false` (default); quando quiser exercitar o fluxo complete register/heartbeat, defina `RUN_MACHINE_SMOKE=true`.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
|
@ -95,4 +105,3 @@ pnpm -C apps/desktop tauri build
|
|||
- `ERR_PNPM_OUTDATED_LOCKFILE` no Desktop:
|
||||
- Atualize `pnpm-lock.yaml` no root após alterar dependências de `apps/desktop/package.json`.
|
||||
- Alternativa: usar `--no-frozen-lockfile` (não recomendado para releases reproduzíveis).
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue