ber*_*enp 12 maven maven-release-plugin
我已经配置了一个Jenkins作业来自动释放我的maven项目.这可以通过以下mvn --batch-mode clean release:prepare release:perform
方式完成:在批处理模式下,将自动确定发行版本和开发版本.这正是我想要的.
问题是我想增加第二个版本而不是第三个版本.因此,当我发布1.2.0版本时,下一个开发版本必须是1.3.0-SNAPSHOT.不是1.2.1-SNAPSHOT.添加命令行参数不是一个选项,因为这会强制我不断编辑构建作业.
有关如何更改用于确定下一个开发版本的算法的任何建议?
小智 8
我知道这是一篇有点老的帖子,但我没有在网上的任何地方找到我真正喜欢的答案,我能够想出一些可能对其他人有用的东西......
我想在 OP 状态下增加小版本,并且我能够通过在我的项目 POM 中使用构建助手插件(用于解析版本)和发布插件的组合来实现。请注意 POM 中引用的“初始化”阶段和 maven 运行属性...
这是 POM 的摘录,我们使用构建助手插件来解析我们可以在发布插件中引用的版本...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${maven.build.helper.plugin.version}</version>
<executions>
<execution>
<id>parse-versions-for-release</id>
<phase>initialize</phase>
<goals>
<goal>parse-version</goal>
</goals>
<configuration>
<propertyPrefix>parsedVersion</propertyPrefix>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven.release.plugin.version}</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
<useReleaseProfile>false</useReleaseProfile>
<developmentVersion>${parsedVersion.majorVersion}.${parsedVersion.nextMinorVersion}.0-SNAPSHOT</developmentVersion>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
现在我们可以运行一个非常正常的版本,但是添加“初始化”阶段以触发版本解析(并确保它在查找解析版本之前发生)......
mvn initialize release:clean release:prepare release:perform
Run Code Online (Sandbox Code Playgroud)
Jea*_*evy -1
正如 Khmarbaise 所建议的,我也认为您的问题没有解决方案。
是否有任何规则可以自动告诉您是否必须更改第二个或第三个数字?确实,我不这么认为。也就是说,你不能要求 Maven / Jenkins 为你选择它,一个主要版本数字,另一个次要版本数字。
您必须通过参数更改它,或者让用户通过 Jenkins M2 Release 插件配置它,如 willome 的建议。它只能是手动操作。
| 归档时间: |
|
| 查看次数: |
8556 次 |
| 最近记录: |