GPFG (Git + Packwiz + FreeFileSync + GitHub Actions) 是一套专为 Minecraft 整合包开发设计的全链路解决方案,通过四大工具的有机协同实现了"开发-测试-发布"全流程自动化。
GPFG 工作流通过整合四个强大工具,创建了一个无缝衔接的整合包开发、测试和发布流程:
- 开发环节:在本地 Minecraft 环境中进行创作与测试
- 同步环节:使用 FreeFileSync 将更改智能同步到仓库
- 版本控制:Git 提供变更追踪与回溯能力
- 构建分发:GitHub Actions 自动生成兼容不同平台的发布版本
这种工作流极大提升了整合包开发效率,减少了重复工作,并确保了各版本的一致性与可追溯性。
Git 在 GPFG 工作流中扮演着核心版本控制系统的角色:
- 精确追踪:记录整合包每一个配置文件、脚本和元数据的变化
- 并行开发:支持通过分支机制同时开发多个特性或版本
- 回滚能力:任何时候都可以回到之前的工作状态,确保稳定性
- 协作基础:多人开发时的冲突解决与代码合并
Packwiz 是专为 Minecraft 打造的元数据管理工具:
- 模组索引:通过 toml 文件管理所有模组的来源、版本和依赖
- 轻量分发:生成不包含实际模组文件的元数据包,大小通常在 100MB 以下
- 自动解析:从 CurseForge/Modrinth 自动拉取模组信息
- 版本锁定:精确锁定每个模组版本,确保兼容性
- 双平台支持:同时支持 CurseForge 和 Modrinth 两大模组平台
FreeFileSync 在工作流中建立了实际游戏环境与版本控制仓库之间的桥梁:
- 智能过滤:自动排除玩家数据、缓存文件和其他非必要文件
- 双向同步:支持开发环境与构建环境的双向文件同步
- 选择性更新:可配置的规则确保只有关键配置和元数据被同步
- 操作便捷:图形界面使得同步操作直观且高效
GitHub Actions 实现了提交后的自动化处理:
- 触发机制:仓库更新或手动触发时自动启动构建流程
- 多格式构建:分别生成 CurseForge (.zip) 和 Modrinth (.mrpack) 格式
- 唯一标识:每次构建都基于提交 SHA 生成唯一版本标识
- 构建存档:通过 GitHub Artifacts 保存构建结果,方便下载与测试
- 工作流分离:CurseForge 和 Modrinth 构建使用独立工作流,可按需启用
- 效率提升:无需手动打包发布,专注于内容创作
- 错误追踪:任何问题都可以追溯到具体的更改提交
- 协作便利:多人团队可以同时进行开发而不互相干扰
- 实验自由:可以创建分支实验新功能,不影响主要版本
- 快速更新:获取开发的最新进展,参与测试最新功能
- 版本选择:可以选择任意历史版本进行游玩
- 下载便捷:小体积元数据包大幅降低下载时间
- 启动器兼容:支持主流启动器如 HMCL、PCL 等
GPFG 工作流形成了一个完整的技术生态系统:
[本地开发环境] <--> [FreeFileSync] <--> [Git仓库]
|
v
[GitHub Actions]
/ \
[CurseForge] [Modrinth]
构建流 构建流
| |
v v
[.zip包] [.mrpack包]
\ /
\ /
v v
[玩家启动器]