Maven 发布使用部分
Posted
技术标签:
【中文标题】Maven 发布使用部分【英文标题】:Maven release use parts 【发布时间】:2012-08-15 14:37:30 【问题描述】:Maven 发布插件是一个很酷的工具,可以简化发布。但我想稍微改变一下行为。
最重要的是,我不希望任何更改自动提交到存储库。这应该由开发人员手动完成。
我的梦想是这样的:
-
检查没有使用 SNAPSHOT 依赖项(必须)
检查没有未提交的更改(可选)
更新所有工件的版本号,允许用户输入新的版本号(必须)
已解决:与
mvn versions:set
在本地构建项目
已解决:使用mvn clean install
我不知道如何挑选一些在发布插件中工作的方法。有什么想法吗?
【问题讨论】:
您是否不担心错过发布插件的主要优势之一 - 确保提交到存储库的代码绝对是新签出并正确构建的代码?不过,您认为插件上的dryRun
设置可能有帮助吗? maven.apache.org/plugins/maven-release-plugin/…
不,我不担心,因为我们使用的是连续构建服务器。该服务器定义了如何构建。 dry-run 没有帮助,因为 maven “发送”了一个 svn 命令(我的机器上没有安装 svn),导致 svn 未知错误。
【参考方案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 发布插件。无需任何定制。 :-)以上是关于Maven 发布使用部分的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Maven 中验证父 POM 的 pluginManagement 部分?
OpenApi - 有没有办法在使用 springdoc-openapi-maven-plugin 生成的合同中使用带有鉴别器部分的组合模式?