Empacotamento e Distribuição
Envie aplicativos de desktop Rust com instaladores, assinatura de código e canais seguros de atualização automática.
Busque em todas as páginas da documentação
Envie aplicativos de desktop Rust com instaladores, assinatura de código e canais seguros de atualização automática.
# Tauri
cd src-tauri && cargo tauri build
# Rust Puro + cargo-bundle
cargo install cargo-bundle
cargo bundle --releaseQuando usar isso:
Esboço de configuração do atualizador Tauri (tauri.conf.json fragmento):
{
"plugins": {
"updater": {
"endpoints": ["https://releases.example.com/{{target}}/{{current_version}}"],
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6I..."
}
}
}O que isso demonstra:
.dmg, .msi, .deb, ou .AppImage.| SO | Artefato | Assinatura |
|---|---|---|
| macOS | .dmg / .app | Developer ID + notarizar |
| Windows | .msi / NSIS | Certificado Authenticode |
| Linux | deb/AppImage/flatpak | GPG para metadados do repositório |
aarch64-apple-darwin + x86_64-apple-darwin lipo ou artefatos separados.| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| Homebrew cask | CLI/GUI de ferramenta de desenvolvimento | Usuários consumidores não técnicos |
| Microsoft Store | Implantação corporativa | Necessidade de atualizador personalizado imediato |
| Zip portátil | Ferramentas internas | Instalação esperada com duplo clique para consumidores |
| Docker | Aplicativos de servidor | GUI de desktop com GPU |
Tauri inclui atualizador, hooks de assinatura e assets de WebView; cargo-bundle é um wrapper mínimo para GUIs Rust puras.
Segredos de CI (GitHub Actions) com token de hardware ou HSM na nuvem - nunca no repositório.
AppImage para universal; flatpak para loja sandbox; deb para empresas baseadas em apt.
Semver; migrações de banco de dados que quebram o padrão incrementam a versão secundária/principal e são documentadas nas notas de release.
Sentry ou similar na camada Rust; simbolizar com símbolos de depuração enviados do build de release.
Endpoint de atualizador separado ou flag beta no manifesto JSON listando versões compatíveis.
Compilar macOS em runners macOS, Windows em windows-latest, Linux em ubuntu - compilar cruzado apenas quando testado.
Fornecer conjunto icns/ico/png de acordo com as diretrizes da plataforma - o gerador de ícones Tauri ajuda.
Incluir arquivo LICENSE e de avisos de terceiros para obrigações de webview e crate Rust.
Tauri para UI web; egui/iced usam cargo-bundle ou instaladores manuais.
Versões da Stack: Esta página foi escrita para Rust 1.97.0 (edição 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4, e Polars 0.46+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026