前几天有人问我如何构建新版本的 RustDesk,于是我写了这篇文章,详细介绍如何利用 GitHub Actions 实现自动构建内置服务器和 Key 的 RustDesk 客户端。

1. 准备工作

在开始之前,请确保你已经安装了 Git,并且拥有一个 GitHub 账户。建议你对 Git 的基本使用有一定了解,以便顺利完成后续操作。

2. Fork RustDesk 仓库

首先,你需要 Fork 以下两个仓库:

  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

Fork 仓库

3. 修改 hbb_common 代码

打开 hbb_common 仓库下的 src/config.rs 文件,修改 101-102 行的默认服务器和密钥为你自己的服务器和密钥。

修改代码

3.1 推送修改后的代码

# 将修改的代码添加到暂存区
git add .

# 将代码提交到本地仓库
git commit -m "修改默认的服务器和 key"

# 将本地仓库代码推送到远程仓库,如果你没有登录过 GitHub 会要求你登录
git push

推送代码

3.2 查看最新提交的 commit ID

git log --oneline

我这里提交后的 commit id 是 b8d80ca,可用于后续验证 RustDesk 服务器和 key 是否修改成功。

查看 commit ID

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 仓库的地址。

更新 .gitmodules

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(这个值每个人的是不同的),否则请回到上面的步骤重新检查是否遗漏了某个操作。

确认 commit ID
确认 commit ID

5. 触发 GitHub Action 构建

5.1 创建 Tag

在本地 rustdesk 仓库中创建一个新 tag,例如 1.3.9,请使用固定格式(如 1.3.9v1.3.9),以便于自动匹配构建规则。

git tag -a 1.3.9 -m "修改内置服务器和 key"

创建 tag

5.2 触发 GitHub Actions 构建

rustdesk 仓库中,进入 Actions 页面,点击下面图中的按钮启用自动构建。启用后回到本地 rustdesk 代码中使用下面的命令将 tag 推送到 GitHub 后将自动开始构建。

git push --tags

启用 Actions

5.3 下载构建好的客户端

Tag 推送完毕后会出现下面的构建进度。

构建进度

等待 Action 执行完成后(时间比较长,一个半小时左右才能全部构建完成),进入 Releases 页面,即可下载构建好的客户端并使用。

下载客户端
下载客户端


本文转载自 hostloc.com

标签: none

添加新评论