- Published on
Electron应用使用OSS实现自动更新
- Authors
- Name
配置步骤
1. 安装依赖
npm install electron-updater electron-log
2. 打包配置
// package.json
{
"build": {
"publish": [{
"provider": "generic",
"url": "https://your-bucket.oss-cn-region.aliyuncs.com/updates"
}]
}
}
3. 更新实现
// main.js
const { autoUpdater } = require('electron-updater')
const log = require('electron-log')
// 配置日志
log.transports.file.level = 'debug'
autoUpdater.logger = log
// 检查更新
autoUpdater.checkForUpdates()
// 监听更新事件
autoUpdater.on('update-available', (info) => {
// 发现新版本
})
autoUpdater.on('download-progress', (progress) => {
// 下载进度
})
autoUpdater.on('update-downloaded', () => {
// 下载完成,安装更新
autoUpdater.quitAndInstall()
})
OSS配置
1. 目录结构
your-bucket/
└── updates/
├── win/
│ ├── latest.yml
│ └── app-1.0.0.exe
└── mac/
├── latest-mac.yml
└── app-1.0.0.dmg
2. 必要配置
- CORS设置:允许所有来源
- 权限设置:公共读或私有读
- 必须启用HTTPS
发布更新
# 1. 打包应用
electron-builder --win --mac
# 2. 将dist目录下的文件上传到OSS对应目录
方案优势
简单高效
- 不需要更新服务器
- 利用OSS高可用性
- 可配置CDN加速
成本低
- 按量付费
- 无需维护服务器