发布检查清单
这页是维护者发布 AI4J 到 Maven Central 和 GitHub Release 前后的最小检查清单。
版本策略
AI4J 当前采用 全模块同号发布:
- 发布版:所有发布模块使用同一个稳定版本,例如
2.4.2 - 开发分支:所有 Maven POM 使用下一个
SNAPSHOT,例如2.4.3-SNAPSHOT - README / docs 示例:写最新已发布稳定版,不写
SNAPSHOT
只改 README、docs-site 或 demo 时,不需要发布新的 Maven 版本。
发布前
- 确认当前分支干净并从
main切出 release 修复分支。 - 把所有 Maven POM 从
*-SNAPSHOT改成同一个 release 版本。 - 同步 README、README-EN 和 docs-site 里的用户安装版本。
- 确认
ai4j-bom覆盖需要对齐的发布模块。 - 确认 release profile 不发布聚合根项目、demo artifact 或 CLI fat jar。
- 确认 Maven
settings.xml里存在 Central server id,且密钥不进仓库。 - 确认 GPG agent / Kleopatra 可以完成签名。
本地验证
mvn -DskipTests package
mvn -P release -DskipTests clean verify
如果修改 docs-site:
npm --prefix docs-site ci
npm --prefix docs-site run build
发布
mvn -P release -DskipTests clean deploy
记录 Central deployment id。若 Central 返回 validated 但要求手动发布,在 Sonatype Central Portal 或 Publisher API 中发布该 deployment。
发布后验证
- Maven Central deployment 状态为
PUBLISHED。 maven-metadata.xml的latest和release等于本次版本。- 主模块的
pom、jar、sources、javadoc和.asc可下载。 ai4j-cli-<version>-jar-with-dependencies.jar不存在。- 创建 GitHub tag / Release,说明版本变化和 Maven 坐标。
- 新分支把所有 Maven POM bump 到下一个
SNAPSHOT并合回main。
收口
- 删除已合并 release / bump 分支。
- 确认本地
main与origin/main对齐。 - HA task 记录 deployment id、GitHub release URL、验证命令和残余风险。