Tự động cập nhật
Cách Oleafly dựng, ký, xác minh và công bố nguồn cập nhật đa nền tảng của mình.
Oleafly dùng plugin cập nhật của Tauri. Khi khởi động, ứng dụng kiểm tra bản phát hành GitHub mới nhất và mở cửa sổ cập nhật riêng khi có phiên bản mới hơn. Người dùng cũng có thể kiểm tra từ menu ứng dụng hoặc mục About → Check for updates.
Nguồn phát hành
Phần tiêu đề “Nguồn phát hành”Mỗi bản build nền tảng tạo ra các artifact updater đã ký và một mảnh latest.json. Workflow phát hành giữ riêng các mảnh đó cho tới khi cả bốn bản dựng xong, rồi gộp các mục do từng target sở hữu vào một manifest chuẩn.
Manifest cuối cùng phải chứa các mục cho macOS Apple Silicon, Windows x64, Linux x64 và Linux ARM64. Nó gắn với một bản phát hành nháp cho tới khi người bảo trì chạy workflow phát hành có kiểm soát. Các ứng dụng đã cài không nhìn thấy bản nháp.
Ứng dụng tải latest.json từ GitHub Releases. Trước khi cài, Tauri xác minh chữ ký updater với khóa công khai nhúng trong src-tauri/tauri.conf.json. Artifact thiếu, không ký hoặc bị thay đổi sẽ bị từ chối.
Ghi chú phát hành lấy từ mục tương ứng trong CHANGELOG.md. Workflow trích mục đó và dùng cho cả phần nội dung bản phát hành GitHub lẫn cửa sổ cập nhật.
Khóa ký
Phần tiêu đề “Khóa ký”Khóa công khai của updater được commit trong src-tauri/tauri.conf.json. Khóa riêng tư chỉ nằm trong secrets của GitHub Actions:
TAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PASSWORD
Không bao giờ commit khóa riêng tư. Nếu khóa bị lộ, hãy tạo một cặp khóa mới, cập nhật secret của kho mã và thay khóa công khai đã nhúng. Các bản cài hiện có tin vào khóa nhúng của chúng, nên việc xoay khóa cần một lộ trình cập nhật thủ công được lên kế hoạch.
Việc ký ở cấp hệ điều hành tách biệt với việc ký updater. Bản build macOS dùng ký mã và notarization của Apple khi các secret phát hành hiện diện. Bản build Windows dùng Azure Artifact Signing khi thông tin định danh của nó hiện diện.
Lỗi và quay lui
Phần tiêu đề “Lỗi và quay lui”Một lần kiểm tra hay tải về thất bại để ứng dụng đã cài nguyên vẹn. Lỗi chữ ký chặn việc cài. Ứng dụng chỉ khởi động lại sau khi bản tải đã xác minh được cài thành công.
Oleafly không tự động quay lui một bản cập nhật đã hoàn tất. Để trở về phiên bản trước, hãy đóng ứng dụng, sao lưu các dự án quan trọng, tải bộ cài chính thức cũ hơn, xác minh nó, rồi cài đè lên phiên bản hiện tại.
Xem Phát hành Oleafly để hiểu quy trình bản nháp và phát hành.