【发布时间】:2013-04-09 07:34:17
【问题描述】:
我们使用我认为非常标准的maven-release-plugin 开发风格。 master 分支包含我们下一个版本的开发(pom 标记为 x.y-SNAPSHOT)。当我们进入代码冻结状态时,我们从 master 分支以准备发布。我们从这个分支执行发布,任何错误都在这个分支上修复。
现在回答我的问题。在准备发布 x.y 版本时,我们通常针对 x.y-SNAPSHOT 进行测试,该版本是从该发布分支构建的。但是我们意识到,当测试“通过”时,它已经通过了带有 SNAPSHOT 标签的安装程序。因此,要执行发布,我们必须更改代码(删除 SNAPSHOT 标签)并重新发布新版本。在我们看来,重新构建构建只会使我们针对 SNAPSHOT 所做的任何测试无效——要求我们重新测试最终版本。
怎么办?
我正在考虑建议我们仅针对非 SNAPSHOT 构建执行正式测试。如果在本质上是“候选发布”中发现了错误,我们会在发布分支中修复它们并提升版本 x.y.(z+1),然后重新测试。不利的一面是,它现在被命名为 x.y.z,而不是一个干净的 x.y.0 版本,其中 z 是此发布的候选版本的数量。
有没有人遇到过这样的场景?这是一个正常的过程还是我们对测试 SNAPSHOT 反应过度?
【问题讨论】: