Pular para o conteúdo
Oleaflyv0.4.7

Como o Oleafly constrói, assina, verifica e publica o feed do atualizador multiplataforma.

O Oleafly usa o plugin de atualização do Tauri. Na inicialização, o aplicativo verifica o release mais recente do GitHub e abre a própria janela de atualização quando há uma versão mais nova disponível. Também é possível verificar pelo menu do aplicativo ou em Sobre → Verificar atualizações.

Cada build de plataforma cria artefatos assinados do atualizador e um fragmento de latest.json. O fluxo de trabalho de release mantém esses fragmentos separados até os quatro builds terminarem e então mescla as entradas de cada destino em um manifesto canônico.

O manifesto final precisa conter entradas para macOS Apple Silicon, Windows x64, Linux x64 e Linux ARM64. Ele fica anexado a um release em rascunho até um mantenedor executar o fluxo de trabalho protegido de publicação. Os aplicativos instalados não veem o rascunho.

O aplicativo baixa o latest.json dos releases do GitHub. Antes da instalação, o Tauri verifica a assinatura do atualizador contra a chave pública embutida em src-tauri/tauri.conf.json. Artefatos ausentes, não assinados ou alterados são rejeitados.

As notas de versão vêm da seção correspondente no CHANGELOG.md. O fluxo de trabalho extrai essa seção e a usa tanto no corpo do release do GitHub quanto na janela do atualizador.

Da tag de versão aos apps instaladosEnviar uma tag de versão inicia builds assinados para macOS Apple Silicon, Windows x64, Linux x64 e Linux ARM64. Os fragmentos de atualização deles se juntam em um único latest.json, anexado a um rascunho de release para revisão dos mantenedores. A execução de publicação confere tudo de novo e publica a release, o que coloca o latest.json no ar. Os apps instalados baixam o arquivo, conferem a assinatura com a chave pública embutida no app e então instalam.Builds assinadosTag de versãoInicia o buildmacOS Apple SiliconWindows x64Linux x64Linux ARM64latest.jsonUm manifestoRascunho de releaseRevisão do mantenedorExecução de publicaçãoConfere de novoe então publicaRelease publicadaO latest.json está no arApps instaladosConferem a assinaturae então instalamO mantenedor executa a publicaçãoDa tag de versão aos apps instaladosEnviar uma tag de versão inicia builds assinados para macOS Apple Silicon, Windows x64, Linux x64 e Linux ARM64. Os fragmentos de atualização deles se juntam em um único latest.json, anexado a um rascunho de release para revisão dos mantenedores. A execução de publicação confere tudo de novo e publica a release, o que coloca o latest.json no ar. Os apps instalados baixam o arquivo, conferem a assinatura com a chave pública embutida no app e então instalam.Builds assinadosTag de versãoInicia o buildmacOS Apple SiliconWindows x64Linux x64Linux ARM64latest.jsonUm manifestoRascunho de releaseRevisão do mantenedorExecução de publicaçãoConfere de novo e então publicaRelease publicadaO latest.json está no arApps instaladosConferem a assinaturae então instalam
Uma tag gera e assina as quatro plataformas em um rascunho. Publicar coloca o latest.json no ar, e os apps instalados conferem a assinatura antes de instalar.

A chave pública do atualizador fica no repositório, em src-tauri/tauri.conf.json. A chave privada deve existir somente nos segredos do GitHub Actions:

  • TAURI_SIGNING_PRIVATE_KEY
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD

Nunca faça commit da chave privada. Se ela for exposta, gere um novo par, atualize o segredo do repositório e substitua a chave pública embutida. As instalações existentes confiam na chave embutida nelas, então uma rotação exige um caminho planejado de atualização manual.

A assinatura do sistema operacional é separada da assinatura do atualizador. Builds do macOS usam assinatura de código da Apple e notarização quando os segredos de release estão presentes. Builds do Windows usam Azure Artifact Signing quando as credenciais dele estão presentes.

Uma verificação ou um download que falha deixa o aplicativo instalado inalterado. Falha de assinatura bloqueia a instalação. O aplicativo reinicia somente depois que o download verificado é instalado com sucesso.

O Oleafly não reverte automaticamente uma atualização concluída. Para voltar a uma versão anterior, feche o aplicativo, faça backup dos projetos importantes, baixe o instalador oficial anterior, verifique-o e instale-o por cima da versão atual.

Veja Lançamento de versões do Oleafly para o processo de rascunho e publicação.

Visualização da imagem

Não foi possível carregar as respostas da IA

Tente de novo ou pesquise na documentação.