发布周期
发布周期#
介绍#
Masonite 框架本身遵循 RomVer 版本控制架构,该架构为 PARADIGM.MAJOR.MINOR
,所有的 Masonite 软件包都遵循 SemVer 版本控制架构,其为 MAJOR.MINOR.BUGFIX
。
这意味着 1.4.0 的框架版本可能会对 1.3.20 的版本进行重大更改。 Masonite 使用 6 个月的主要发布周期来维持其作为现代 Python Web 框架的状态。每个版本都是可靠且稳定的版本,通常只需花很少的时间即可进行升级。
使用 RomVer 胜过 SemVer 的原因#
Masonite 代码仓库 (MiraFramework / masonite
repository) 仅包含应用程序的基本文件结构。所有核心框架功能都位于 MasoniteFramework / core
目录中,该代码仓库每天或每月更新一次。
由于 MiraFramework / masonite
不需要重大更新,因此我们可以很好地遵循 RomVer,并人为地保持低版本号。此代表的任何重大更新都可能只是文件结构更改,除非进行重大架构更改,才更新版本号。
发布和发布周期#
Masonite 当前处于 6 个月的主要发布周期。这意味着六个月后将有一个新的 2.x 版本。
计划在 30 分钟或更短的时间内从以前的版本进行升级。如果它们违反了此要求,则应考虑将它们用于下一个发布的版本 (x.0.0
版本)
发行计划#
- [x] v1.3 - 2018 年 2 月
- [x] v1.4 - 2018 年 3 月
- [x] v1.5 - 2018 年 4 月
- [x] v1.6 - 2018 年 5 月
- [x] v2.0 - 2018 年 6 月
- [x] v2.1 - 2018 年 12 月
- [x] v2.2 - 2019 年 6 月
- [ ] 下一版本 - 2019 年 12 月
创建发布#
Masonite 由三个不同的版本库组成。 它们是
- 主要的版本库是安装在开发人员系统上的开发环境进行开发的主要代码库。
- 核心代码版本库,这是主要的 Masonite pip 软件包所在的位置。
- 命令行版本库
如果能够发布所有该版本的代码并且通过测试,之后的 6 个月发布一个主要的版本。
在新版本中,核心代码库已上传到 PyPi。此时,理论上每个人都可以安装该软件包。内核发布后,就会对 craft 版本进行更新,后续只做可能需要更改的细微更改。这两个代码库完成后,将更新并最终发布 masonite 存储库。一旦此仓库发布到最新版本,所有将来的项目将默认使用 Masonite 的最新版本。
之后,我们将在文档中更改 Masonite 的版本,并验证和更新所有不符合标准的文档。
每当在 Github 上发布 MasoniteFramework / craft
和 MasoniteFramework / core
存储库时,Travis CI 都会运行测试并自动部署到 PyPi。这些主要版本号应与其支持的 Masonite 版本相对应。例如,如果 MasoniteFramework / masonite
发行到 1.4 版,则无论更改如何,MasoniteFramework / core
都应升至 1.4.x。
主存储库和新项目#
主存储库为 MasoniteFramework / masonite
,没有相应的 PyPi 软件包,仅用于安装新的 Masonite 项目。请参见 Craft 命令文档中的 craft new
命令。craft new
命令将下载最新版本的 Masonite 的 zip,解压缩并重命名该文件夹。一旦准备好该存储库的下一个发行版,它将被发行但被标记为 Pre-release
,因此在这之前的无法通过默认的 craft new
命令进行安装。
这样开发人员和维护人员将能够使用其应用程序测试新的预发布版本。一旦所有代码检查测试都通过,它将被标记为发布版本,因此所有从那里创建的新应用程序都将是新版本。
开发人员仍然可以选择执行以下操作:craft new project_name --version 1.6
并安装该版本的 Masonite。
一旦所有三个代码库都准备好发布,它们将分别以各自的新版本号在 GitHub 上发布。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。