Перейти до вмісту
Oleaflyv0.4.7

Як Oleafly збирає, підписує, перевіряє й публікує свій кросплатформовий канал оновлення.

Oleafly використовує плагін оновлення Tauri. Під час запуску застосунок перевіряє останній реліз на GitHub і відкриває власне вікно оновлення, коли доступна новіша версія. Користувачі можуть також запустити перевірку з меню застосунку або Про застосунок → Перевірити оновлення.

Збірка для кожної платформи створює підписані артефакти оновлення та фрагмент latest.json. Робочий процес випуску тримає ці фрагменти окремо, поки не завершаться всі чотири збірки, а потім зливає записи, що належать кожній цілі, в один канонічний маніфест.

Підсумковий маніфест має містити записи для macOS Apple Silicon, Windows x64, Linux x64 і Linux ARM64. Він лишається долученим до чернетки релізу, поки супровідник не запустить захищений робочий процес публікації. Встановлені застосунки не бачать чернетки.

Застосунок завантажує latest.json із GitHub Releases. Перед встановленням Tauri перевіряє підпис оновлення проти відкритого ключа, вбудованого в src-tauri/tauri.conf.json. Відсутні, непідписані чи змінені артефакти відхиляються.

Нотатки релізу беруться з відповідного розділу в CHANGELOG.md. Робочий процес витягує цей розділ і використовує його й для тіла релізу GitHub, і для вікна оновлення.

Від тегу версії до встановлених застосунківНадсилання тегу версії запускає підписані збірки для macOS Apple Silicon, Windows x64, Linux x64 і Linux ARM64. Їхні фрагменти для оновлювача зливаються в один latest.json, прикріплений до чернетки випуску для перегляду супровідником. Запуск публікації ще раз усе перевіряє й публікує випуск, після чого latest.json стає доступним. Встановлені застосунки завантажують його, перевіряють підпис за відкритим ключем, вбудованим у застосунок, і лише тоді встановлюють.Підписані збіркиТег версіїЗапускає збіркуmacOS Apple SiliconWindows x64Linux x64Linux ARM64latest.jsonОдин маніфестЧернетка випускуПерегляд супровідникомЗапуск публікаціїПеревіряє ще раз,потім випускаєОпублікований випускlatest.json доступнийВстановлені застосункиПеревіряють підпис,потім встановлюютьСупровідник запускає публікаціюВід тегу версії до встановлених застосунківНадсилання тегу версії запускає підписані збірки для macOS Apple Silicon, Windows x64, Linux x64 і Linux ARM64. Їхні фрагменти для оновлювача зливаються в один latest.json, прикріплений до чернетки випуску для перегляду супровідником. Запуск публікації ще раз усе перевіряє й публікує випуск, після чого latest.json стає доступним. Встановлені застосунки завантажують його, перевіряють підпис за відкритим ключем, вбудованим у застосунок, і лише тоді встановлюють.Підписані збіркиТег версіїЗапускає збіркуmacOS Apple SiliconWindows x64Linux x64Linux ARM64latest.jsonОдин маніфестЧернетка випускуПерегляд супровідникомЗапуск публікаціїПеревіряє ще раз, потім випускаєОпублікований випускlatest.json доступнийВстановлені застосункиПеревіряють підпис,потім встановлюють
Тег збирає й підписує всі чотири платформи в чернетку. Публікація робить latest.json доступним, а встановлені застосунки перевіряють підпис перед встановленням.

Ключі підписування

Розділ «Ключі підписування»

Відкритий ключ оновлення закомічено в src-tauri/tauri.conf.json. Приватний ключ має бути лише в секретах GitHub Actions:

  • TAURI_SIGNING_PRIVATE_KEY
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD

Ніколи не комітьте приватний ключ. Якщо його викрито, згенеруйте нову пару, оновіть секрет репозиторію та замініть вбудований відкритий ключ. Наявні установки довіряють власному вбудованому ключеві, тож ротація потребує запланованого шляху ручного оновлення.

Підписування на рівні операційної системи окреме від підписування оновлень. Збірки macOS використовують підписування коду Apple і нотаризацію, коли наявні релізні секрети. Збірки Windows використовують Azure Artifact Signing, коли наявні його облікові дані.

Невдала перевірка чи завантаження лишає встановлений застосунок без змін. Невдача перевірки підпису блокує встановлення. Застосунок перезапускається лише після того, як перевірене завантаження успішно встановиться.

Oleafly не виконує автоматичного відкату завершеного оновлення. Щоб повернутися до попередньої версії, закрийте застосунок, зробіть резервні копії важливих проєктів, завантажте попередній офіційний інсталятор, перевірте його та встановіть поверх поточної версії.

Див. Випуск релізів Oleafly щодо процесу чернетки й публікації.

Перегляд зображення

Не вдалося завантажити відповіді ШІ

Спробуйте ще раз або скористайтеся пошуком у документації.