MS RFC 34:MapServer发布管理器和发布过程

作者

丹尼尔·莫里塞特

联系

在mapgears.com的dmorissette

状态

采用2007-07-19

概述

此RFC记录了MapServer发布管理器角色和MapServer发布过程的各个阶段。

MapServer发布管理器角色

对于mapserver的每个版本,psc都会选择一个发布管理器(这通常是通过在mapserver dev列表上进行运动和投票来完成的)。

发布管理器的总体作用是协调开发人员、测试人员、文档和其他贡献者的工作,以在预定的时间内实现尽可能高质量的发布。

PSC授权给发布经理制定发布的某些最终决定的责任和权限,包括:

  • 是否批准每个测试版、发布候选版和最终版本的发布

  • 在功能冻结后批准或拒绝重要的错误修复或更改

  • 维护发布时间表(时间表)并根据需要进行更改

当有疑问或做出艰难的决定(例如将发布日期推迟几周)时,发布经理可以要求PSC投票支持某些决定,但这不是上述责任领域的要求。

发布管理器的角色还包括以下任务:

  • 为此版本设置和维护网站的发布计划部分

  • 与开发团队协调

  • 与质量保证/测试团队协调

  • 与文档/网站团队协调

  • 通过TRAC跟踪进度(利用TRAC里程碑并确保门票有正确的目标,如有需要,将一些门票推送至后续版本等)

  • 定期组织IRC会议(包括议程和会议记录)

  • 在SVN中为每个beta、rc和release标记源代码

  • 最终版本发布后,SVN中的分支源代码(trunk成为下一个dev版本)

  • 为每个beta/rc/release更新map.h和history.txt

  • 每个beta/rc/release的包源代码分发

  • 为每个beta/rc/release更新相应的网站/下载页面

  • 对MapServer用户和MapServer发布每个版本的公告

  • 在最终版本发布后的6个月内(即直到下一个版本)根据需要生成/协调错误修复版本。

上述任务中的任何一个都可以被委派,但它们仍然是发布管理器的最终责任。

MapServer发布过程

(来源:受Plone发布流程的启发,网址为http://plone.org/documentation/manual/plone-developer-reference/overview/release-process)

MapServer使用基于时间的发布周期,试图每6个月发布一次。

MapServer版本的正常开发过程由多个阶段组成。

  • 开发阶段

    开发阶段通常持续4个月左右。新功能通过MapServer PSC投票的RFC提出。

  • 冻结日期

    对于每个版本,都有一个特定的日期,在此日期之前必须提交所有新功能建议(RFC)以供审查。在此日期之后,此特定版本将不再接受任何功能。

  • 功能冻结日期/测试版

    到目前为止,所有功能都必须完成,所有代码都必须集成。现在只完成非侵入性更改、用户界面工作和错误修复。我们通常在最终发布前6周计划3-4个测试版和几个发布候选版本。

  • 发布候选

    理想情况下,最后一个没有bug的测试版。代码没有更改。除了betas中要求的迁移步骤外,不需要任何迁移步骤。如果发现并修复了任何问题,将发布一个新的候选版本。

  • 最终发布/预期发布日期

    通常是最后一个发布的候选版本,它没有任何显示阻止错误。

  • 错误修复版本

    没有完美的软件。一旦为某个版本找到了足够多或关键数量的bug,发布管理器就会发布一个新的bug修复版本A.K.A.第三个DOT版本(例如4.10.2)。

MapServer版本编号

MapServer 的版本号组成方式与 Linux非常相似。例如,一个 MapServer 的版本号 4.2.5 可以理解为:

  • 4:主要版本号。

    我们每2到3年发布一个主要版本。主要版本号通常在添加重要的新特性或引入主要体系结构更改或向后不兼容时更改。

  • 2:次要版本号。

    次要版本号的增加几乎总是与功能的增加有关,并且与本RFC中描述的6个月发布过程相对应。

    MapServer使用与Linux相同的偶数/奇数次版本号方案。偶数次版本号(0..2..4..6)与发行版本有关,奇数次版本(1..3..5..7)与开发版本相对应。例如,开发版本4.1是作为版本4.2.0发布的,没有任何正式的版本4.1。

  • 5:版本号。

    修订只是错误修复。修订版中没有提供新功能。

投票历史

投票于2007-07-19年度完成。

+1来自丹尼尔姆、史蒂文、史蒂文、弗兰克、塔马斯、阿塞法伊、杰夫姆、佩里克莱斯、翁伯顿和霍华德。