前言
前几天有人问我新版本的 Rustdesk 如何自己构建,于是我写了这篇文章。如何利用 Github Actions 实现自动构建内置你服务器和 key 的 Rustdesk 客户端。
1. 准备工作
在开始之前,请确保你已经安装了 Git,并且拥有一个 GitHub 账户。建议你对 Git 的基本使用有一定了解,以便顺利完成后续操作。
2. Fork Rustdesk 仓库
1. rustdesk/hbb_common
2. rustdesk/rustdesk
2.1 拉取 Fork 后的代码
请注意,替换仓库地址为你 fork 后的仓库地址,而不是直接复制我下面的命令
- # 可选:如果需要使用代理
- # git config --global http.proxy http://127.0.0.1:10808
- # git config --global https.proxy http://127.0.0.1:10808
- # 拉取仓库代码到本地 请替换为你 fork 后的仓库地址
- git clone https://github.com/irains/hbb_common.git
- git clone https://github.com/irains/rustdesk.git
复制代码
3. 修改 hbb_common 代码
打开 `hbb_common` 仓库下的 `src/config.rs` 文件,修改 101-102 行 的默认服务器和密钥为你自己的服务器和密钥。
3.1 推送修改后的代码
- # 将修改的代码添加到暂存区
- git add .
- # 将代码提交到本地仓库
- git commit -m "修改默认的服务器和 key"
- # 将本地仓库代码推送到远程仓库 如果你没有登录过 GitHub 会要求你登录 github
- git push
复制代码
3.2 查看最新提交的 commit ID
- git log --oneline
复制代码
我这里提交后的 commit id 是 b8d80ca,可用于后续验证 rustdesk 服务器和 key 是否修改成功
4. 修改 rustdesk 仓库代码
我们切换到克隆下来的 rustdesk 代码目录下,按照下面的方式修改子模块地址并更新。
4.1 更新 `.gitmodules`
打开并编辑 `.gitmodules` 文件,将 `url` 替换为你 Fork 后的 `hbb_common` 仓库地址。
比如我 fork 后的仓库地址是 `https://github.com/irains/hbb_common` 则将 `https://github.com/rustdesk/hbb_common` 地址换为前面这个地址即可,记住是 hbb_common 的地址,而不是 rustdesk 仓库的地址
4.2 更新子模块
将上面修改好的代码保存,执行下面的命令更新子模块到最新的 commit id
- git submodule sync
- git submodule update --remote
复制代码
4.3 提交并推送代码
- git add .
- git commit -m "修改子模块仓库地址"
- git push
复制代码
4.4 确认 Commit ID 更新
代码推送完毕后,进入你 Fork 后的 `rustdesk` 仓库的 `libs` 目录下,查看 `hbb_common` 后面的 commit id,确保它是 3.2 提到的 `b8d80ca`(这个值每个人的是不同的),否则请回到上面的步骤重新检查是否遗漏了某个操作。
5. 触发 GitHub Action 构建
5.1 创建 Tag
在本地 `rustdesk` 仓库中创建一个新 tag,例如 `1.3.9`,请使用 固定格式 (如 `1.3.9` 或 `v1.3.9`),以便于自动匹配构建规则。
- git tag -a 1.3.9 -m "修改内置服务器和 key"
复制代码
5.2 触发 GitHub Actions 构建
在 `rustdesk` 仓库中,进入 `Actions` 页面,点击下面图中的按钮启用自动构建。启用后回到本地 rustdesk 代码中使用下面的命令将 tag 推送到 Github 后将自动开始构建。
- git push --tags
复制代码
5.3 下载构建好的客户端
Tag 推送完毕后会出现下面的构建进度。
等待 Action 执行完成后(时间比较长,一个半小时左右才能全部构建完成),进入 `Releases` 页面,即可下载构建好的客户端并使用。