FluxDO构建与发版指南:justfile+melos+CI一键产出iOS IPA、Flatpak与Windows安装包

发布时间:2026/10/4 5:31:23
FluxDO构建与发版指南:justfile+melos+CI一键产出iOS IPA、Flatpak与Windows安装包
FluxDO构建与发版指南justfilemelosCI一键产出iOS IPA、Flatpak与Windows安装包【免费下载链接】fluxdo一个 Linux.do 第三方客户端项目地址: https://gitcode.com/gh_mirrors/fl/fluxdoFluxDO 是一款 Linux.do 第三方客户端支持 iOS、macOS、Windows、Linux 与 Android 多端体验。它的构建与发版链路围绕justfilemelos CI 三大支柱搭建本地一条just release即可完成版本计算、发版检查、打 tag 与推送CI 在 tag 推送后自动产出各平台安装包。本文将带你完整走通这条一键发版流程。构建体系总览3 层入口各司其职FluxDO 采用「命令面收敛」的工程约定三层入口分工明确层次工具职责日常开发/发版justfile统一命令入口本地开发、构建、发版全部走just工作区管理melos仅保留 workspace bootstrap管理 packages/ 下的多包依赖链接底层脚本tool/ 下 Dart 脚本承载版本计算、IPA 打包、发版检查等业务逻辑CI 场景的 shell/python 脚本集中在 scripts/ci/按linux/与flatpak/两个领域分层只保留工作流级环境胶水不承载项目业务逻辑。一键上手初始化与同步本地环境克隆仓库后git clone https://gitcode.com/gh_mirrors/fl/fluxdo推荐先用just提供的三个命令把工作区准备好git clone https://gitcode.com/gh_mirrors/fl/fluxdo cd fluxdo just bootstrap # dart run melos bootstrap初始化工作区依赖和链接 just sync # 同步项目状态pub get、l10n、证书资源 just doctor # 检查开发环境和生成产物状态just bootstrap通过 melos 完成多包工作区如 packages/common_ui/、packages/m3e_ui/ 等的依赖解析与链接just sync调用 tool/project_prep.dart 执行app子任务显式同步 pub get、国际化代码与证书资源just doctor自检环境与生成产物快速定位为什么构建失败。justfile 常用命令速查justfile 是 FluxDO 本地开发的唯一推荐入口直接运行just或just --list即可查看全部命令。核心命令如下命令作用just run/just build执行flutter run/flutter build参数直接透传just test执行工作区测试just analyze执行flutter analyze静态分析just rebuild先 clean 再 build适合切换架构后使用just release-check发版前检查analyze testjust release稳定版发版无参时进入交互式选择just prerelease预发布发版beta / rcjust ipa构建 iOS 无签名 IPA仅 macOSjust release patch # 日常修复发版 just release minor # 新增功能发版 just prerelease patch --preid beta # 开启一轮 beta just release -- minor --dry-run # 只预览不真正写入和推送 如果参数以-开头记得用--分隔例如just release -- patch --dry-run。iOS IPA 一键构建just ipa无需开发者签名也能产出可分发的 IPA。just ipa底层调用 tool/build_ipa_nosign.dart流程为校验平台只能在 macOS 上打包解析版本号不传参数时交互式输入默认读取pubspec.yaml当前版本以--release --no-codesign构建 iOS 应用将Runner.app打包为标准Payload结构并压缩。产物输出到build/ios/ipa/fluxdo-版本-nosign.ipa可直接配合 AltStore 等工具侧载安装。just ipa # 交互式输入版本号并确认 just ipa 0.2.3 # 指定版本直接构建CI 自动化发版推一个 tag全平台产物到手FluxDO 的 CI 工作流定义在 .github/workflows/build.yaml触发条件非常简洁推送v*开头的 tag 即启动完整构建矩阵。发版流程闭环是这样的本地执行just release或just prerelease——由 tool/release.dart 驱动release.dart完成版本计算、发版前检查、更新pubspec.yaml、创建 commit 与 tag 并推送远端tag 推送触发 CI矩阵并行构建Androidarm64/armv7/x86_64 三种架构、iOS、macOSarm64/x86_64、Windowsx86_64构建产物与发布说明汇总后挂载到 Release同时推送通知到 Telegram由 release_telegram.py 处理。工作流中通过IS_STABLE变量区分稳定版与预发布版tag 含-即为 beta/rc并锁定 Flutter、NDK 等工具链版本以保证可复现构建。发布说明从哪来Release 正文采用「用户视角亮点 全量 commit 明细」双层结构稳定版正文取自highlights/v版本.md写作约定见 highlights/README.mdcommit 明细由 git-cliff配置在 cliff.toml生成并折叠展示亮点文件缺失时 CI 自动回退全量明细不挡发版但release.dart会在发版信息里给出警告。组装逻辑在 scripts/ci/compose_release_notes.py。Windows 安装包Inno Setup 一键产出Windows 平台的安装向导由 Inno Setup 脚本 windows/setup.iss 定义几个关键特性对新手很友好内置 ChineseSimplified.isl 简体中文安装语言PrivilegesRequiredlowest普通用户权限即可安装无需管理员LZMA 压缩 安装前自动结束残留fluxdo.exe进程升级覆盖更顺畅产物命名为fluxdo-windows-x86_64-setup.exe由 CI 在windows-2022镜像上自动构建。Flatpak 分发面向 Linux 桌面生态Linux 桌面用户可通过 Flatpak 获取 FluxDO。清单文件为 flatpak/com.github.lingyan000.fluxdo.yml基于 GNOME 48 运行时构建内含若干针对 Flutter 应用的定制集成 WPE 层WPE layer支持源码树准备、容器内打包等步骤由 scripts/ci/flatpak/ 下的脚本完成挂载ffmpeg-full扩展补全 H.264/HEVC 等视频编解码并自建 libmpv 依赖链支持 media_kit 播放通过finish-args精确开放网络、Wayland、通知等最小权限集兼顾功能与沙箱安全。另有独立工作流 .github/workflows/flatpak-wpe-layer.yaml 负责 WPE 层的预构建与缓存。详细说明见 docs/flatpak.md。发版前检查清单发版不是改个版本号那么简单。just release会自动串联以下检查手动发版时也建议按此核对工作区干净所有改动已提交在main分支执行非 main 分支会在摘要中提示稳定版已提交highlights/v版本.md亮点文件且 tag 打在包含该文件的 commit 上通过just release-checkanalyze test先--dry-run预览一遍确认目标版本与 tag 无误再正式发版just release-check # 发版前检查 just release -- minor --dry-run # 预览 just release minor # 正式发版总结FluxDO 的构建与发版体系可以用一句话概括本地一条 just 命令管开发到发版CI 一个 tag 管全平台产物。justfile收敛命令面、melos 管理多包工作区、Dart 脚本承载发版逻辑、GitHub Actions 矩阵产出 Android/iOS/macOS/Windows 安装包与 Flatpak各环节职责单一、可独立替换。掌握just bootstrap→just release→ 等待 CI 这条主线你就能独立完成一次 FluxDO 的多端发版。【免费下载链接】fluxdo一个 Linux.do 第三方客户端项目地址: https://gitcode.com/gh_mirrors/fl/fluxdo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考