Maven 测试快照';s与发布工件
我们使用了我认为非常标准的开发风格。主分支包含下一版本的开发(pom标记为x.y-SNAPSHOT)。当我们进入代码冻结阶段时,我们从master分支准备发布。我们从这个分支执行发布,任何错误都会在这个分支上修复 现在回答我的问题。在准备x.y版本时,我们通常会对基于此版本分支构建的x.y快照进行测试。然而,我们意识到,当测试“通过”时,它通过了带有快照标签的安装程序。因此,要执行一个版本,我们必须更改代码(删除快照标签)并重新编制一个新版本。在我们看来,重新旋转构建只是使我们针对快照所做的任何测试无效——需要我们重新测试最终版本 怎么办 我正在考虑建议我们只对非快照构建执行正式测试。如果在本质上是“候选发布版本”的地方发现了bug,我们将在发布分支中修复它们,并更新版本x.y.(z+1),然后重新测试。缺点是,它现在被命名为x.y.z,而不是一个干净的x.y.0版本,其中z是这个版本的候选版本数Maven 测试快照';s与发布工件,maven,testing,release,Maven,Testing,Release,我们使用了我认为非常标准的开发风格。主分支包含下一版本的开发(pom标记为x.y-SNAPSHOT)。当我们进入代码冻结阶段时,我们从master分支准备发布。我们从这个分支执行发布,任何错误都会在这个分支上修复 现在回答我的问题。在准备x.y版本时,我们通常会对基于此版本分支构建的x.y快照进行测试。然而,我们意识到,当测试“通过”时,它通过了带有快照标签的安装程序。因此,要执行一个版本,我们必须更改代码(删除快照标签)并重新编制一个新版本。在我们看来,重新旋转构建只是使我们针对快照所做的任何
有人有过这样的经历吗?这是一个正常的过程,还是我们对测试快照的反应过度?通常有两种处理方法:
任何一种都有效,选择你的毒药;-) 注意(1)中的任何非阶段性部署—如果您需要任何类型的手动验证,并且不能保证构建的工件保留在阶段性区域中,那么您可能最终会得到两个具有相同maven版本但内容不同的工件。这是不好的。@ptyx我想我已经解决了这个问题,如果没有分期风险或跟踪好/坏版本号的方法,您就不能让每个版本通过测试,例如,如果2.4.5是坏的,那么2.4.5会逃脱您的跟踪系统。发现版本号可能比比较sha1更容易,也可能不是,因为您无论如何都应该检查下载的sha1,并且只有在运行安装程序后,当已经太晚时,您才能看到版本。因此,每一种都是一种毒药;-)