首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git-Flow Maven插件: hotfix分支

Git-Flow Maven插件: hotfix分支
EN

Stack Overflow用户
提问于 2021-01-03 14:22:08
回答 1查看 1.1K关注 0票数 1

我正在尝试使用Git-Flow Maven插件从Jenkinsfile文件中创建一个修补程序版本。

在最初的成功之后,我现在看到了一些奇怪的行为。

我有以下支持稳定的分支:support/release-3.x

首先,运行以下Maven命令:

代码语言:javascript
复制
mvn -e -B -Dmaven.test.failure.ignore=true -DperformRelease=true gitflow:hotfix-start -DfromBranch=support/release-3.x -DhotfixVersion=3.4.0

这将产生以下结果:

代码语言:javascript
复制
[INFO] --- gitflow-maven-plugin:1.14.0:hotfix-start (default-cli) @ my-project ---
[INFO] Checking for uncommitted changes.
[INFO] Checking out 'support/release-3.x' branch.
[INFO] Fetching remote branch 'origin support/release-3.x'.
[INFO] Comparing local branch 'support/release-3.x' with remote 'origin/support/release-3.x'.
[INFO] Creating a new branch 'hotfix/support/release-3.x/3.4.0' from 'support/release-3.x' and checking it out.
[INFO] Updating version(s) to '3.4.0'.
[INFO] Committing changes.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] --------------------

如您所见,插件出于某种原因创建了分支hotfix/support/release-3.x/3.4.0,而不是hotfix/3.4.0

然后执行以下命令:

代码语言:javascript
复制
 mvn -e -B -Dmaven.test.failure.ignore=true -DperformRelease=true gitflow:hotfix-finish -DhotfixVersion=3.4.0 -DpostHotfixGoals=deploy -e -B -Dmaven.test.failure.ignore=true -DperformRelease=true -Dverbose=true

这导致:

代码语言:javascript
复制
[INFO] 
[INFO] --- gitflow-maven-plugin:1.14.0:hotfix-finish (default-cli) @ my-project ---
[INFO] Checking for uncommitted changes.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.721 s
[INFO] Finished at: 2021-01-03T14:06:38+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.amashchenko.maven.plugin:gitflow-maven-plugin:1.14.0:hotfix-finish (default-cli) on project my-project: hotfix-finish: Hotfix branch with name 'hotfix/3.4.0' doesn't exist. Cannot finish hotfix. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.amashchenko.maven.plugin:gitflow-maven-plugin:1.14.0:hotfix-finish (default-cli) on project my-project: hotfix-finish
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoFailureException: hotfix-finish
    at com.amashchenko.maven.plugin.gitflow.GitFlowHotfixFinishMojo.execute (GitFlowHotfixFinishMojo.java:356)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoFailureException: Hotfix branch with name 'hotfix/3.4.0' doesn't exist. Cannot finish hotfix.
    at com.amashchenko.maven.plugin.gitflow.GitFlowHotfixFinishMojo.execute (GitFlowHotfixFinishMojo.java:137)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

所以特别是:Hotfix branch with name 'hotfix/3.4.0' doesn't exist. Cannot finish hotfix.

我也检查了Maven站点文档,但是找不到一个可以提供帮助的参数。

我遗漏了什么?如何解决这一问题?

更新1

gitflow-maven-plugin v1.15.0的相同行为

更新2

我现在尝试手动重命名hotfix-starthotfix-finish之间的分支。

现在,我得到以下错误:

代码语言:javascript
复制
[INFO] --- gitflow-maven-plugin:1.15.0:hotfix-finish (default-cli) @ my-project ---
[INFO] Checking for uncommitted changes.
[INFO] Fetching remote branch 'origin hotfix/3.4.0'.
[WARNING] There were some problems fetching remote branch 'origin hotfix/3.4.0'. You can turn off remote branch fetching by setting the 'fetchRemote' parameter to false.
[INFO] Fetching remote branch 'origin develop'.
[WARNING] There were some problems fetching remote branch 'origin develop'. You can turn off remote branch fetching by setting the 'fetchRemote' parameter to false.
[INFO] Local branch 'master' doesn't exist. Trying to fetch and check it out from 'origin'.
[INFO] Fetching remote branch 'origin master'.
[INFO] Creating a new branch 'master' from 'origin/master' and checking it out.
[INFO] Fetching remote branch 'origin master'.
[INFO] Comparing local branch 'master' with remote 'origin/master'.
[INFO] Checking out 'hotfix/3.4.0' branch.
[INFO] Cleaning and testing the project.
[INFO] Checking out 'master' branch.
[INFO] Merging (--no-ff) 'hotfix/3.4.0' branch.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

所以hotfix-finish想要合并developmaster,而不是support/release-3.x

我想我可以将fetchRemote设置为false,将skipMergeDevBranch设置为skipMergeDevBranch,将skipMergeProdBranch设置为true,但如何将其合并回支持分支呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-05 20:41:30

由aleksandr-m在https://github.com/aleksandr-m/gitflow-maven-plugin/issues/273上作为提供者的解决方案

hotfix-finish中使用:

代码语言:javascript
复制
-DhotfixVersion=support/release-3.x/3.4.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65550854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档