1

每当我运行我的 jenkins 构建时,我都希望我的快照版本自动递增。我知道他们有几个插件,只是想了解有没有办法在没有任何插件的情况下实现这一点?

4

2 回答 2

0

您可以自动更改工件版本 - 通过${env.BUILD_NUMBER}在 Jenkins 管道中将其指定为(例如),然后将其作为{revision}参数传递给mvn命令。为此,您需要将此{revision}变量放入<version>标签中,如下所示

<version>${revision}</version> 

然后将其提供给 Jenkins 管道中的 maven 命令:

mvn deploy -Drevision=${env.BUILD_NUMBER}

有关详细信息,请参阅答案(第一个选项)。

注意:正如@khmarbaise指出的那样,您必须使用flatten-maven-plugin,否则可能会出现一些问题,请参阅本文中的详细信息。(但是,在我的简单 maven 项目中没有这样的问题,所以我没有使用那个插件,只有revision参数)

于 2019-01-22T10:35:45.770 回答
-1

您可以使用版本-maven-plugin

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
于 2019-01-22T10:33:05.777 回答