跳到内容

描述

自动更新是任何应用程序最关键的部分之一,测试该过程非常重要。

本页面旨在解释如何在本地测试自动更新过程。

大部分更新步骤都从这里复制而来

步骤

1. 下载并安装 Minio

Minio 是一个本地可运行的服务器,实现了 S3 协议。 https://min-io.cn/download

下载服务器和客户端,并将它们放在您想要的目录中。 在本文档中,我们将此目录称为 minio-home

您的目录应该如下所示

minio-home
├── minio.exe
└── mc.exe

2. 创建和配置 Bucket

minio-home 中运行以下命令

mkdir ./minio-data
mkdir ./minio-data/test-bucket
然后您可以运行 ./minio.exe server ./minio-data 来启动服务器。

这将使用默认凭据 (即 minioadmin 启动服务器

在 http://127.0.0.1:9000 访问 Web 客户端 - 您应该能够使用默认凭据访问。

此时,您应该在 bucket 上添加读取策略。 您可以通过访问 Web 客户端,转到 bucket 设置,并添加 * 只读 策略来执行此操作。

这是更新程序访问更新所必需的。 {.is-info}

3. 发布更新

首先构建应用程序一次,这样我们就不必每次都等待构建。 为此,首先运行您的编译步骤。

然后确保您的 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量已设置。 您可以在终端会话或 IDE(如 Webstorm)中设置它们,或者您可以将它们与 dotenv 一起包含,然后在您的配置文件顶部(如果它是 javascript 文件)添加 require("dotenv").config()

设置 env 变量后,您可以运行您的发布命令并进行修改。 例如,您有一个名为 publish:prod 的命令,它是 electron-builder --x64 --config configs/electron-builder.js

您将创建 publish:dev,它是 yarn publish:prod --publish always --config.publish.provider=s3 --config.publish.endpoint=https://127.0.0.1:9000 --config.publish.bucket=test-update

这将自动覆盖发布配置并运行发布过程。

然后进入您的 package.json 文件,并将版本号更新为高于当前版本的版本号。 这对于检测到新更新非常重要。

如果您现在转到 Web 客户端,您应该会看到可执行文件、相应的 blockmap 和一个 latest.yml 文件。

4. 安装和测试

现在您要安装构建的应用程序。 它应该存在于您在配置中指定的输出目录(或默认目录 dist中的任何目录中

启动应用程序并检查日志输出。 在 Windows 中,它应该位于此目录中:%AppData%\Roaming\yourapp\log.log。 这将包含更新程序日志,并指示更新失败的程度或步骤(如果失败)。

如果您的更新流程正确,那么您应该像往常一样看到更新通知。