java - 什么时候应该在项目生命周期中使用 mvn release?

标签 java maven release maven-release-plugin alm

澄清问题:

  • 我正在寻找既定的最佳实践或对已知实践的赞成/反对分析
  • 我所说的项目生命周期是指:部署到预集成、集成、QA、预生产和生产环境。

对于某些上下文: 我们的项目每周都会部署到集成和 QA,目前我们为每个集成部署创建一个新版本,但这感觉不对。它导致每周更新所有 poms 破坏开发级别的依赖性,迫使每个开发人员刷新他们的 eclipse 配置。我们有很大的工作区,而 Eclipse 不能很好地处理刷新,因此浪费了很多时间。

我不太熟悉 maven 发布约定,并且一直无法找到关于应使用 mvn 发布的应用程序生命周期点的约定。

如果我们现在使用的模式被接受/正确/建立我将有另一个问题:)

最佳答案

我用来避免 Eclipse 开发级依赖更新问题的方法是保持相关的主干或分支版本号不变,直到发布变得重要为止。通过这种方式,您可以为 QA 等正确标记/版本化发布,以便您可以追溯问题,但不需要开发人员更新依赖项。为实现这一点,我使用以下命令但覆盖版本号以获得所需的版本号但重新输入当前快照版本作为新快照版本:

mvn release:prepare -DautoVersionSubmodules=true

附言我有一张图表可以证明这一点,但不幸的是,本论坛没有足够的权限来附加它。如果有人可以帮助附加,我很乐意提供它。

P.P.S 也许现在...

enter image description here

另请注意对早期分支 (2.1) 和晚期分支 (2.2) 的支持。

关于java - 什么时候应该在项目生命周期中使用 mvn release?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6109814/

相关文章:

C# 调试与发布

java - 如何解析内存字符串以获取私钥和​​公钥 RSA

java - 是否可以将使用 @Component 定义的 bean 作为 BeanFactoryPostProcessor 的参数注入(inject)?

java - 我可以在 JDBC 准备好的查询中使用多个语句吗?

maven - jetty :run-exploded updating static resources

android - 创建 Android 应用 Release模式

java - Spring Boot中使用Interpreter运行Jolie程序时出现未知操作错误

java - osgi 包如何知道接口(interface)?

java - 设置一个 maven-web 项目(来自现有的 netbeans-maven-web 项目)

Android:自动增量版本代码仅在 Gradle 中的 Release BuildType 上