ubergrape/grape-electron
GitHub: ubergrape/grape-electron
Grape 团队聊天服务的跨平台 Electron 桌面客户端,支持 Windows、macOS 和 Linux。
Stars: 26 | Forks: 6
## 快速开始
```
# 安装 dependencies
yarn
# 运行 app
yarn start
```
## 脚本
`clean` - 移除 `lib` 和 `release` 文件夹。
`build` - 构建一次项目代码和应用。
`build:lib` - 构建一次项目代码。
`build:lib:watch` - 每次代码更新后构建项目代码。
`start` - 运行一次应用以进行调试。
`start:proxy` - 运行一次应用,并为 `grape-web-client` 设置代理端口。
`start:watch` - 每次代码更新后运行应用并启用热重载。
`start:watch:proxy` - 每次代码更新后运行应用,启用热重载并为 `grape-web-client` 设置代理端口。
`release` - 构建应用并将构建产物上传至 GitHub releases。运行前,请先查阅 `Releasing` 章节进行配置。
`release:win` - 为 Windows 构建应用并上传至 GitHub releases。使用 `GH_TOKEN` 作为环境变量来设置 GitHub token 以实现自动上传。
`release:ci` - 通过 GitLab CI 为 Linux 构建应用并上传至 GitHub releases。
`i18n:export` - 将语言文件从 `src/i18n` 导出到 `i18n`。
`i18n:import` - 将语言文件从 `i18n` 导入到 `src/i18n`。
## 发布
```
# 拉取 latest changes
git pull
# 重新安装 dependencies
rm -rf node_modules && yarn
```
要构建应用,你需要使用本地环境进行 macOS 和 Windows 的构建,以及使用 GitLab CI 进行 Linux 的构建。
下面将介绍一般流程。随后是特定操作系统的说明,并附有对应的操作系统名称标题。
### 创建发布草稿
如果该版本已经创建了草稿,请跳过这些步骤。
你可以在[这里](https://github.com/ubergrape/grape-electron/releases)查看发布版本。
1. 创建版本提交。在 `package.json` 中修改 `version` 字段为你想要发布的版本,例如 `1.0.0`,并递增 `buildVersion`,例如将 `99` 改为 `100`。
2. 推送此提交,且提交信息需与 `package.json` 中的 `version` 保持一致。
3. 设置一个新的 GitHub release 草稿。Tag 名称应与 `package.json` 中的 version 字段相同,但需加上 `v` 前缀。例如,对于版本 `1.0.0`,tag 名称为 `v1.0.0`。Release 的名称和描述可以自定义。
更多信息请参见[这里](https://www.electron.build/configuration/publish.html#recommended-github-releases-workflow)。
### 设置 token
如果项目根目录下已存在 `.token` 文件,请跳过这些步骤。
1. 前往 [token 页面](https://github.com/settings/tokens) 创建一个具有 write:packages 权限的 token。
2. 将 token 复制到剪贴板。
3. 在项目根目录下创建 `.token` 文件。
4. 粘贴 token 并保存文件。
对于使用 `release:win` 进行 Windows 构建的情况,请使用 `GH_TOKEN` 环境变量来提供 GitHub token。
### 提供 Apple ID 凭证
如果项目根目录下已存在 `.apple-user` 和 `.apple-password` 文件,请跳过这些步骤。
1. 创建 `.apple-user` 和 `.apple-password` 文件。
2. 将用户名和密码粘贴到这些文件中。如果你使用 2FA,请创建特定于 App 的密码。更多详情请参见[这里](https://support.apple.com/en-us/HT204397)。
### macOS
运行以下命令,构建新应用并将其上传至 release 草稿。请确保已安装所有必需的证书。查看[文档](https://www.electron.build/code-signing.html#how-to-export-certificate-on-macos)了解如何导出证书。向 Apple Developer Account 的所有者请求获取你的开发者账户,并寻求协助以提供相关证书。
```
yarn release
```
完成后,你将在 release 草稿中看到 `mas`、`dmg` 和 `zip` 文件。
#### MacOS store 构建
对于 macOS store 构建,请在配置中将 `hardenedRuntime` 设置为 `false`。为了加快 App Store 版本的构建过程,你可以仅在 macOS 的 `targets` 字段中保留 `mas` 目标。
### Linux
如果你是第一次进行发布,需要请求他人为 GitLab 仓库授予权限。然后在 GitLab 仓库的 "Variables" 部分将你的 token 保存到 `GITHUB_PUBLISH_TOKEN` 变量中。路径为 "Settings" -> "CI/CD" -> "Variables"。
1. 将你的最新更改及发布提交推送到 GitLab。
2. 进入 "CI/CD" -> "Pipelines",然后点击 "Run pipeline"。
3. 选择正确的分支,再次点击 "Run pipeline"。
4. 这将启动构建和上传过程。过程完成后,你将在 release 草稿中看到 `tar.gz`、`deb`、`rpm` 和 `AppImage` 构建产物。
### Windows
请下载并安装为 VirtualBox 预配置的 Windows 10 虚拟镜像。你可以通过此[链接](https://github.com/ubergrape/chatgrape/wiki/Windows-virtual-image)找到它(仅 Grape 开发者可访问),或者在办公室的外部驱动器中找到。
运行以下命令,构建新应用并将其上传至 release 草稿。
1. 将 USB-token 插入 USB 驱动器。
2. `GH_TOKEN= yarn release:win`
3. 前往 Passbolt 账户,从 "Sectigo USB security token" 资源中复制密码;如果你没有访问权限,请向负责人申请访问权限。
4. 每次提示 "Token Logon" 窗口时,都粘贴该密码。
完成后,你将在 release 草稿中看到 `exe`、`msi` 和 `appx` 构建产物。
#### Windows store 构建
要构建 Windows store 版本,你需要删除与签名过程相关的所有字段,因为 Windows store 要求应用必须是未签名的。因此,要构建此版本,请删除 `certificateSubjectName` 和 `rfc3161TimeStampServer` 字段。另外,为了加快构建速度,你可以仅在 Windows 的 `targets` 字段中保留 `appx`。
标签:数据可视化, 自定义脚本