Skip to content

自动生成热更新包工作流使用教程

本目录用于自动生成 DLC 热更新包,并发布到 GitHub Release(可选同步到 Gitee)。

本文档仅支持 DLC Manager 3.6.5 及以上版本。

1. 准备

  • 先基于模板创建你的整合包仓库:Github链接
  • 确保DLC/info/目录(也可手动指定位置,详见下方的VERSION_DC_PATH配置项)中有 version.dc,用于记录当前 basedlc 版本。
  • .gitignore文件中加入你需要排除检测更改的文件和目录(路径)。
  • 可选:在仓库根目录放置 changelog / CHANGELOG(任意一个即可),内容将作为更新日志。

推荐:使用 GitHub Desktop

建议使用 GitHub Desktop 管理仓库。

操作步骤:

  1. 安装 GitHub Desktop 并登录 GitHub 账号。
  2. 在 GitHub Desktop 中打开你的整合包仓库(File -> Add local repository... 或直接 Clone)。
  3. 后续照常在 GitHub Desktop 中提交/推送。

可选:启用 Git LFS(大文件)

如果仓库里包含大文件(100MB 以上,如 .jar.zip),建议启用 Git LFS。

操作步骤:

  1. 打开仓库终端(Repository -> Open in Terminal),执行:
    bash
    git lfs install
    git lfs track "*.jar"
    git lfs track "*.zip"
  2. 提交并推送自动生成的 .gitattributes 文件。

注意:

  • 新协作者首次拉取仓库后,建议执行一次 git lfs pull,确保本地拿到真实文件而非指针文件。

2. 自动生成热更新包

工作流:auto-generate-update-pack.yml

触发方式:

  • 推送到 main 自动触发。
  • 也可手动运行。

自动模式会在检测到 version.dc 版本变化时生成热更新包;无版本变化则不生成。

Repository Variables

  • AUTO_UPDATE_WORKFLOW
    • 作用:是否启用 push 自动生成。
    • 可选:false / true
    • 默认:true
  • VERSION_DC_PATH
    • 作用:指定 version.dc 路径。
    • 默认:DLC/info/version.dc
  • CLIENT_BRANCH
    • 作用:自动模式下,匹配为客户端热更新包的分支名。
    • 格式:多个分支名用逗号分隔,忽略大小写。
    • 示例:client,client-release,feature-client
  • SERVER_BRANCH
    • 作用:自动模式下,匹配为服务端热更新包的分支名。
    • 格式:多个分支名用逗号分隔,忽略大小写。
    • 示例:server,server-release,feature-server
  • AUTO_UPDATE_PLATFORM
    • 作用:自动模式使用的平台。
    • 可选:universal / client / server
    • 默认:universal
  • AUTO_SYNC_TO_GITEE
    • 作用:自动模式是否同步 Gitee。
    • 可选:false / true
    • 默认:false

3. Gitee 同步

工作流:sync-github-release-to-gitee.yml

必填配置

Repository Variables:

  • GITEE_USERNAME:Gitee 用户名
  • GITEE_REPO:Gitee 仓库名

Secrets:

  • GITEE_TOKEN:Gitee Access Token

4. 手动生成热更新包

工作流:generate-update-pack.yml

需要填写的参数:

  • from_ref
    • 作用:对比起点(从哪里开始算改动)。
    • 可填:tag / commit / branch。
    • 可留空:系统自动选择合适起点。
  • to_ref
    • 作用:对比终点(改动截至到哪里)。
    • 可填:tag / commit / branch。
    • 留空默认:当前最新提交(HEAD)。
  • platform
    • 作用:指定热更新包平台。
    • 可选:universal / client / server
  • base
    • 作用:更新前底包版本。
    • 示例:3.12.0
  • base_new
    • 作用:更新后底包版本。
    • 示例:3.12.1
  • dlc
    • 作用:更新前 DLC 版本。
    • 示例:1.0.0
  • dlc_new
    • 作用:更新后 DLC 版本。
    • 示例:1.0.1
  • sync_to_gitee
    • 作用:生成并发布到 GitHub 后,是否同步到 Gitee。
    • 可选:false / true

注意:

  • base/base_newdlc/dlc_new 不能同时不变,否则会直接报错退出。

from_ref / to_ref 填写说明

  • to_ref
    • 一般留空即可,表示使用当前最新提交(HEAD)。
    • 需要指定时可填:分支名、tag、commit 哈希。
  • from_ref
    • 作用是指定“从哪个版本/提交开始对比”。
    • 常见填法:
      • 上一个热更新 tag(推荐)。
      • 某个历史 commit(想只打某几次提交的改动时)。
      • 某个分支或 tag 名。
    • 留空时会自动选择可用的对比起点。