描述¶
自动更新是任何应用程序最关键的部分之一,测试该过程非常重要。
本页面旨在解释如何在本地测试自动更新过程。
大部分更新步骤都从这里复制而来
步骤¶
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_ID
和 AWS_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
。 这将包含更新程序日志,并指示更新失败的程度或步骤(如果失败)。
如果您的更新流程正确,那么您应该像往常一样看到更新通知。