コンテンツにスキップ
Oleaflyv0.4.7

Oleafly が、クロスプラットフォームのアップデーターのフィードを、どのようにビルド、署名、検証、公開するかを説明します。

Oleafly は Tauri のアップデータープラグインを使います。起動時にアプリが最新の GitHub リリースを確認し、新しいバージョンがあれば、専用のアップデートウィンドウを開きます。アプリケーションメニューや Oleafly について → アップデートを確認 から確認することもできます。

各プラットフォームのビルドは、署名付きのアップデーターの成果物と、latest.json のフラグメントを作ります。リリースのワークフローは、4 つのビルドがすべて終わるまでそれらのフラグメントを別々に保ち、その後、各ターゲットが持つエントリを 1 つの正規のマニフェストにマージします。

最終的なマニフェストには、macOS Apple Silicon、Windows x64、Linux x64、Linux ARM64 のエントリが含まれている必要があります。メンテナーが保護された公開ワークフローを実行するまで、マニフェストはドラフトのリリースに添付されたままです。インストール済みのアプリには、ドラフトは見えません。

アプリは、GitHub Releases から latest.json をダウンロードします。インストールの前に、Tauri は、src-tauri/tauri.conf.json に埋め込まれた公開鍵に対して、アップデーターの署名を検証します。欠けている、署名のない、または改ざんされた成果物は拒否されます。

リリースノートは、CHANGELOG.md の該当するセクションから取られます。ワークフローがそのセクションを抜き出し、GitHub のリリース本文とアップデートウィンドウの両方で使います。

バージョンタグからインストール済みアプリまでバージョンタグをプッシュすると、macOS Apple Silicon、Windows x64、Linux x64、Linux ARM64 向けの署名付きビルドが始まります。各ビルドのアップデータ断片が 1 つの latest.json に統合され、メンテナーがレビューするためのドラフトリリースに添付されます。公開の実行ですべてをもう一度確認してリリースを公開すると、latest.json が有効になります。インストール済みのアプリはそれをダウンロードし、アプリに埋め込まれた公開鍵で署名を検証してから、インストールします。署名付きビルドバージョンタグビルドを開始macOS Apple SiliconWindows x64Linux x64Linux ARM64latest.json1 つのマニフェストドラフトリリースメンテナー確認公開の実行再度確認し、リリース公開済みリリースlatest.json が有効にインストール済みアプリ署名を検証し、インストールメンテナーが公開を実行バージョンタグからインストール済みアプリまでバージョンタグをプッシュすると、macOS Apple Silicon、Windows x64、Linux x64、Linux ARM64 向けの署名付きビルドが始まります。各ビルドのアップデータ断片が 1 つの latest.json に統合され、メンテナーがレビューするためのドラフトリリースに添付されます。公開の実行ですべてをもう一度確認してリリースを公開すると、latest.json が有効になります。インストール済みのアプリはそれをダウンロードし、アプリに埋め込まれた公開鍵で署名を検証してから、インストールします。署名付きビルドバージョンタグビルドを開始macOS Apple SiliconWindows x64Linux x64Linux ARM64latest.json1 つのマニフェストドラフトリリースメンテナー確認公開の実行再確認してリリース公開済みリリースlatest.json が有効にインストール済みアプリ署名を検証し、インストール
タグを付けると 4 つのプラットフォームすべてが署名付きでビルドされ、ドラフトになります。公開すると latest.json が有効になり、インストール済みのアプリは署名を検証してからインストールします。

アップデーターの公開鍵は、src-tauri/tauri.conf.json にコミットされています。秘密鍵を置いてよいのは、GitHub Actions のシークレットだけです。

  • TAURI_SIGNING_PRIVATE_KEY
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD

秘密鍵は絶対にコミットしないでください。漏えいした場合は、新しい鍵ペアを生成し、リポジトリのシークレットを更新して、埋め込まれた公開鍵を置き換えます。既存のインストールは、埋め込まれた鍵を信頼しているため、鍵のローテーションには、計画された手動のアップデート経路が必要です。

OS の署名は、アップデーターの署名とは別です。macOS のビルドは、リリース用のシークレットがあれば、Apple のコード署名と公証を使います。Windows のビルドは、認証情報があれば、Azure Artifact Signing を使います。

確認やダウンロードに失敗しても、インストール済みのアプリは変更されません。署名の検証に失敗すると、インストールはブロックされます。アプリが再起動するのは、検証済みのダウンロードが正常にインストールされたあとだけです。

Oleafly は、完了したアップデートを自動ではロールバックしません。以前のバージョンに戻すには、アプリを閉じ、大切なプロジェクトをバックアップし、以前の公式インストーラーをダウンロードして検証し、現在のバージョンの上にインストールします。

ドラフトと公開の手順は、Oleafly をリリースするを参照してください。

画像のプレビュー

AI の回答を読み込めませんでした

もう一度試すか、ドキュメントを検索してください。