Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins、Maven和语义版本控制:如何增加主要版本或次要版本_Maven_Jenkins_Semantic Versioning - Fatal编程技术网

Jenkins、Maven和语义版本控制:如何增加主要版本或次要版本

Jenkins、Maven和语义版本控制:如何增加主要版本或次要版本,maven,jenkins,semantic-versioning,Maven,Jenkins,Semantic Versioning,在我们的工作中,我们通过Jenkins作业发布和部署组件。问题是它只会增加“补丁”版本号(major.minor.patch,例如4.2.1变为4.2.2)。我想让工作告诉maven这是一个“次要”版本(4.2.1->4.3.0),一个“主要”版本(4.2.1->5.0.0)或补丁版本(默认行为) Jenkins向maven传递参数的接口很简单,但是有没有命令可以让maven更新次要版本或主要版本,而无需明确说明您需要的版本(和开发版本)。因为它可以很容易地更新补丁版本,所以我希望有一个命令可以

在我们的工作中,我们通过Jenkins作业发布和部署组件。问题是它只会增加“补丁”版本号(major.minor.patch,例如4.2.1变为4.2.2)。我想让工作告诉maven这是一个“次要”版本(4.2.1->4.3.0),一个“主要”版本(4.2.1->5.0.0)或补丁版本(默认行为)


Jenkins向maven传递参数的接口很简单,但是有没有命令可以让maven更新次要版本或主要版本,而无需明确说明您需要的版本(和开发版本)。因为它可以很容易地更新补丁版本,所以我希望有一个命令可以对次要版本或主要版本执行同样的操作

使用
mvn
和发布插件,您可以轻松地更新版本。你可以做:

mvn release:update-versions

有关更多选项,请查看。

谢谢。但这只会增加“补丁”数量。我想知道唯一的解决方案是否是在Jenkins发布作业中,当您点击build时有一个texfield提示符。但是你需要知道当前的版本是什么,等等。容易出现太多人为错误。是的,你需要在UI中有一个文本字段。如果你使用jenkins发布插件,你实际上可以指定这些信息;maven版本会将快照版本转换为发布版本(1.0.5-snapshot->1.0.5),然后在完成后增加到下一个快照版本(1.0.6-snapshot)。此时,您可以自由地将该版本转换为您想要的任何版本,因此您可以手动将POM更改为1.1.0-SNAPSHOT.Hi版本。我希望它从1.0.5-SNAPSHOT开始,并根据快照阶段的开发周期进行选择。例如(大致与语义版本控制一致),如果我们对客户机进行了接口更改,那么我们会说我们希望部署一个“主要”版本(1.0.5-SNAPSHOT变为2.0.0-SNAPSHOT被发布和部署,那么主干现在是2.0.1-SNAPSHOT)。类似地,对于“次要”版本,我们希望它类似于:1.0.5-SNAPSHOT->(次要版本)1.1.0->1.1.1-SNAPSHOT。对于“补丁”版本,我们只做普通的mvn版本:release。那么您在实际版本之后/同时定义版本?