跳到正文
豫言包管理
← 全部包

批量发布 0.1.0

豫言 · 可执行文件

发现当前目录的软件包,生成完整发行归档并批量发布。

豫言原生工具。默认只列出当前目录的包;--打包 生成 ZIP,--发布 才上传。 源码从 Git 的已跟踪文件和未被忽略的新文件收集,尊重子包边界,拒绝敏感文件名和符号链接。不支持非 Git 源码目录。

独立构建包面向当前 macOS/Linux 平台,包含依赖闭包源码、编译器、豫构、运行时及重建脚本;系统工具链与包声明的 C 系统库仍需安装。可执行包只提供当前平台运行包,不宣称跨平台发行。

命令示例见 yy批量发布 -h。上传令牌通过权限为 600 的 curl 配置文件传入,不出现在命令行参数或日志;配置文件使用后删除。 发行 ZIP 保留在输出目录,默认重试复用同一文件。源码变化后可用 --重新打包,同包版本的不同 ZIP 会产生新的服务器上传序数,历史修订仍可下载。

使用

在仓库根目录构建工具:

./yy豫构 构建 批量发布 --输出 yy批量发布 ./yy批量发布 --所有者 豫言 ./yy批量发布 --打包 --所有者 豫言

在网站登录、验证邮箱、绑定所有者后生成上传令牌。通过终端隐藏输入,避免写进 shell 历史:

read -rs YY_UPLOAD_TOKEN export YY_UPLOAD_TOKEN ./yy批量发布 --发布 --所有者 豫言 unset YY_UPLOAD_TOKEN

默认输出 .yybuild/发布/<所有者>/<包名>/<版本>/发布.zip。可用 --包 包名 先测试单包,用 --输出 指向扫描目录外的目录。--工具链 指向含 yy4_bs、yy豫构、运行时源码和 LICENSE 的 Git 工作树;文档工具缺失时自动构建。

发布文档复用两个标准工具:yy文档网站生成器 构建包 生成目标包的 API 文档,yy源码树浏览器 构建源码 浏览目标包的暂存源码(不含依赖或子包)。不再创建临时导入索引。工具链应使用支持这些命令的新版二进制,缺失时会自动构建。

文档/index.html 是统一阅读首页,展示包身份、双语说明及生成状态;接口/ 与 源码浏览/ 各自保持原有界面并提供相互导航。生成状态.json 分别记录两个生成器的结果。说明按转义纯文本显示,不执行其中 HTML。

API 生成失败时明确标记失败,部分 API 页面留在构建暂存区、不进入 ZIP,源码浏览仍生成;语法错误文件由浏览器退回转义纯文本。源码浏览失败或缺少首页仍阻止打包。文档可阅读不代表构建成功:原有库类型检查、可执行包实际构建仍须通过,不能借此绕过错误测试包的构建要求。

--发布 --重新打包 --所有者 豫言 会生成当前版本的新 ZIP 并发布修订。新档生成失败时不动旧档;成功后旧 ZIP 保存到同目录的 旧档.XXXXXX/发布.zip。每个服务器修订独立保存完整材料,不混用新旧文档。字节相同的 ZIP 重试复用原修订;重新上传旧 ZIP 不会将旧修订提升为最新。 发布只发送 ZIP 原始字节,服务器最终检查所有者。材料未展开完全视为失败,保留 ZIP 供原样重试。输出目录带互斥锁,异常中断遗留锁时,先确认没有运行任务,再删除该输出目录下的 .发布锁。

当前运行包包含本机可执行程序;程序所需的外部数据、服务和 C 动态库仍须按该包说明准备。工具不推断尚未声明的运行时资源。文件名检查不是通用秘密扫描,请先检查将要公开的源码;不要强制跟踪凭据文件。

验证

node --test 工具/批量发布/批量发布.test.mjs

测试使用临时 Git 仓库、工具链替身和本机 HTTP 服务,不向生产发布。完整构建验收需另用实际包执行 --打包,并解开构建目录内的 tar.gz 运行重建.sh。

批量真实归档验收发现服务端原有固定前缀读取会展开整个 base64 字符串,触发栈溢出;现已改为只读取 64 字节。服务端初始堆同步调整为 128 MiB,以容纳 ZIP 和 base64 正文;栈保持 32 MiB。正式批量发布前必须部署这些配套修复,本工具不会自动部署服务器。

依赖

查看包配置

上传历史

当前上传修订:2 ·

查看最新修订 →

  1. 上传修订 3
    下载 ZIP
  2. 上传修订 2
    下载 ZIP
  3. 上传修订 1
    下载 ZIP

包层级

父包:发布

没有子包。