- Added functionality for automatic update checks in the settings page, allowing users to enable or disable this feature. - Integrated app version display and update availability notifications. - Updated settings store to manage auto-check updates state and handle version migration. - Enhanced layout with a new card for update settings, improving user experience and accessibility.
3.1 KiB
3.1 KiB
Configuração do Sistema de Atualização Automática
Este documento explica como configurar o sistema de atualização automática do OllaHub.
Pré-requisitos
- Repositório GitHub configurado
- Rust e Cargo instalados
- Tauri CLI instalado
Passo 1: Gerar Chaves de Assinatura
Execute o script para gerar as chaves:
chmod +x scripts/generate-updater-keys.sh
./scripts/generate-updater-keys.sh
Ou manualmente:
mkdir -p ~/.tauri
cargo tauri signer generate -w ~/.tauri/ollahub.key
Passo 2: Configurar Chave Pública
- Copie a chave pública gerada (está em
~/.tauri/ollahub.key.pub) - Edite
src-tauri/tauri.conf.json - Substitua
YOUR_PUBLIC_KEY_HEREpela chave pública - Atualize o endpoint com seu repositório GitHub:
{
"updater": {
"active": true,
"endpoints": [
"https://api.github.com/repos/SEU_USUARIO/SEU_REPOSITORIO/releases/latest"
],
"dialog": true,
"pubkey": "SUA_CHAVE_PUBLICA_AQUI"
}
}
Passo 3: Configurar GitHub Secrets
- Vá em Settings > Secrets and variables > Actions
- Clique em New repository secret
- Nome:
TAURI_UPDATER_PRIVATE_KEY - Valor: Cole o conteúdo completo do arquivo
~/.tauri/ollahub.key
Passo 4: Atualizar Workflow (se necessário)
O workflow .github/workflows/release.yml já está configurado para:
- Buildar para Windows, macOS e Linux
- Assinar binários com a chave privada
- Criar release automaticamente quando há push em
main/master
Como Funciona
-
Build Automático: Quando você faz push para
main/master, o GitHub Actions:- Builda o app para todas as plataformas
- Assina os binários
- Cria uma release no GitHub
-
Verificação de Atualizações: O app verifica automaticamente:
- 5 segundos após iniciar (primeira verificação)
- A cada 6 horas (verificação periódica)
- Manualmente via botão nas configurações
-
Instalação: Quando há atualização disponível:
- Usuário recebe notificação
- Pode escolher atualizar agora ou depois
- Download e instalação são automáticos
- App reinicia automaticamente após instalação
Bump de Versão
Para criar uma nova versão:
# Patch (0.1.0 -> 0.1.1)
pnpm run bump-version patch --commit
# Minor (0.1.0 -> 0.2.0)
pnpm run bump-version minor --commit
# Major (0.1.0 -> 1.0.0)
pnpm run bump-version major --commit
Depois, faça push:
git push && git push --tags
O GitHub Actions criará automaticamente a release.
Troubleshooting
Erro: "Failed to check for updates"
- Verifique se o endpoint no
tauri.conf.jsonestá correto - Verifique se há releases públicas no GitHub
- Verifique a conexão com a internet
Erro: "Signature verification failed"
- Verifique se a chave pública no
tauri.conf.jsonestá correta - Verifique se a chave privada no GitHub Secret está correta
- Regere as chaves se necessário
Release não é criada automaticamente
- Verifique se o push foi feito para
mainoumaster - Verifique os logs do GitHub Actions
- Verifique se as permissões do workflow estão corretas