【问题标题】:Maven release use partsMaven 发布使用部分
【发布时间】:2012-08-15 14:37:30
【问题描述】:

Maven 发布插件是一个很酷的工具,可以简化发布。但我想稍微改变一下行为。

最重要的是,我不希望任何更改自动提交到存储库。这应该由开发人员手动完成。

我的梦想是这样的:

  1. 检查没有使用 SNAPSHOT 依赖项(必须)
  2. 检查没有未提交的更改(可选)
  3. 更新所有工件的版本号,允许用户输入新的版本号(必须)
    • 已解决:与mvn versions:set
  4. 在本地构建项目
    • 已解决:使用mvn clean install

我不知道如何挑选一些在发布插件中工作的方法。有什么想法吗?

【问题讨论】:

  • 您是否不担心错过发布插件的主要优势之一 - 确保提交到存储库的代码绝对是新签出并正确构建的代码?不过,您认为插件上的dryRun 设置可能有帮助吗? maven.apache.org/plugins/maven-release-plugin/…
  • 不,我不担心,因为我们使用的是连续构建服务器。该服务器定义了如何构建。 dry-run 没有帮助,因为 maven “发送”了一个 svn 命令(我的机器上没有安装 svn),导致 svn 未知错误。

标签: java maven release


【解决方案1】:

您描述的事情将由 maven-release-plugin 自动完成。如果您没有在构建服务器上安装 svn,您需要配置发布插件以使用 svnkit installation

【讨论】:

  • 是的,我的想法来自插件所做的事情。我将尝试使用 svnkit 配置 maven。也许我的问题有点令人困惑:我需要知道如何使用部分目标 relase:prepare 还是 maven 强制我使用完整的目标还是什么都不用? (对不起,我还不是专家)
  • 我同意 khmarbaise,您提到的所有 4 点都包含在 maven-release-plugin 的默认行为中,无需任何额外配置。对于发布,我们通常先执行 mvn release:prepare(处理 1、2、3 和 4),然后执行 mvn release:perform
  • 你也自动标记吗?仅当版本已按照 buildServer 上定义的方式成功构建时,我才想标记。没有为开发者打标签。
  • @khmarbaise 你知道如何使用 svnkit 的文档吗?您提供的网站上的文档不容易理解。
  • 好的,使用 svnkit 安装工作。最后,我们完全使用了 Maven 发布插件。无需任何定制。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
  • 2021-05-16
  • 2021-11-10
  • 2011-06-18
相关资源
最近更新 更多