版本管理

Galacean 有一套成熟的版本管理方案,本文将以 @galacean/engine 为例,介绍 Galacean 的管理工具,命名规则,发布策略及依赖管理。

版本管理工具

Galacean 使用的版本管理工具是 Git ,代码都托管在 GitHub 上,并且所有的开发流程,包括规划里程碑架构设计在内的信息,全部都公开在 GitHub 的项目管理中,你可以通过创建 issue提交 PR 参与到引擎的建设当中。

包管理工具

Galacean 使用的包管理工具是 NPM ,您可以通过 npm 指令安装 @galacean/engine

npm install --save @galacean/engine

然后在业务中引入使用:

import { WebGLEngine, Camera } from "@galacean/engine";

版本命名规则与发布策略

Galacean 版本号格式是 MAJOR.MINOR.PATCH-TAG.X 。其中 MAJOR.MINOR 代表里程碑版本,通常伴随大量功能更新, PATCH 版本更新则表示向下兼容的错误修复,TAG 标签标记了该发布版本的用处。

TAG释义
alpha内部测试版,用于早期功能研发,有里程碑内的新功能但稳定性较差,例如 1.3.0-alpha.3
beta公开测试版,内部测试已基本完毕,稳定性较强,但可能仍有较少的问题与缺陷,例如 1.2.0-beta.7
latest正式稳定版,经过长期测试和验证,无重大缺陷,可投入生产的推荐版本,例如 1.1.3
custom内部为了测试特定功能而发布的,例如 0.0.0-experimental-1.3-xr.9

GithubNPM 上可以查看所有可用版本。

版本升级

每个里程碑版本更新迭代时会同步发布版本升级引导,其中包含了本次更新的内容以及 BreakChange,可依据此文档进行版本的更新迭代。

版本依赖

情况规则
核心包核心包之间请保证版本一致
工具包 依赖 核心包保证工具包版本与引擎核心包的大版本一致,以 1.3.x 版本的工具包为例,依赖 1.3.y 版本的核心包
二方包 依赖 核心包二方生态包对引擎版本的依赖关系,请参照对应文档说明,如 Lottie

基本规则如上,若有特殊说明,请按照说明选择依赖。

其他

编辑器升级引擎版本

项目设置 中可以控制运行时的引擎版本。

运行时输出的版本信息

Galacean 大部分包运行时会在 Console 输出版本信息,

image.png

通常也会以此为依据判断包版本依赖是否出现:

  • 版本依赖不符合规则?
  • 出现了多个不同版本的同名依赖?

若出现以上问题,请排查工程并解决依赖问题。

这篇文档对您有帮助吗?