【发布时间】:2019-01-22 10:18:18
【问题描述】:
每当我运行我的 jenkins 构建时,我都希望我的快照版本自动递增。我知道他们有几个插件,只是想了解有没有办法在没有任何插件的情况下实现这一点?
【问题讨论】:
每当我运行我的 jenkins 构建时,我都希望我的快照版本自动递增。我知道他们有几个插件,只是想了解有没有办法在没有任何插件的情况下实现这一点?
【问题讨论】:
您可以自动更改工件版本 - 通过在 Jenkins 管道中将其指定为 ${env.BUILD_NUMBER}(例如),然后将其作为 {revision} 参数传递给 mvn 命令。为此,您需要将此{revision} 变量放入<version> 标记中,如下所示
<version>${revision}</version>
然后将其提供给 Jenkins 管道中的 maven 命令:
mvn deploy -Drevision=${env.BUILD_NUMBER}
有关详细信息,请参阅this 答案(第一个选项)。
注意:正如@khmarbaise 所指出的,您必须使用flatten-maven-plugin,否则可能会出现一些问题,请参阅this 文章中的详细信息。 (但是,对于我的简单maven项目,没有这样的问题,所以我没有使用那个插件,只有revision参数)
【讨论】:
mvn deploy -Drevision=${env.BUILD_NUMBER} 这样的命令,那么它将正常工作。我认为如果您在 Jenkins 中使用自动构建,那么添加 -Drevision=${env.BUILD_NUMBER} 参数不会有问题。如果不向 mvn 命令添加参数,我看不到在 Jenkins 构建中自动递增版本的更好选择。
revision 参数,并且一切正常,没有任何问题。无论如何,在上面添加您的信息,谢谢!
mvn build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion} versions:commit
目标“build-helper:parse-version”在 pom.xml 中提供实际版本的解析片段,并计算版本的增量片段: 使用可以使用这个 vars 来设置新版本
parsedVersion.nextMajorVersion
parsedVersion.nextMinorVersion
parsedVersion.nextIncrementalVersion
【讨论】: