我在运行Maven发布插件准备步骤时mvn release:prepare --batch-mode -DreleaseVersion=1.1.2 -DdevelopmentVersion=1.2.0-SNAPSHOT -Dtag=v1.1.2 -X
从Atlassian Bamboo计划获得以下错误输出.但是在命令行中执行相同操作可以正常工作.完整的错误堆栈如下.
任何想法如何解决?
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli) on project hpcmom: An error is occurred in the checkin process: Exception while executing SCM command. Detecting the current branch failed: fatal: ref HEAD is not a symbolic ref -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli) on project hpcmom: An error is occurred in the checkin process: Exception while executing SCM command. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.apache.maven.plugin.MojoExecutionException: An error is occurred in the checkin process: Exception while executing SCM command. at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:281) at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:232) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Caused by: org.apache.maven.shared.release.ReleaseExecutionException: An error is occurred in the checkin process: Exception while executing SCM command. at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.checkin(AbstractScmCommitPhase.java:160) at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.performCheckins(AbstractScmCommitPhase.java:145) at org.apache.maven.shared.release.phase.ScmCommitPreparationPhase.runLogic(ScmCommitPreparationPhase.java:76) at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.execute(AbstractScmCommitPhase.java:78) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:234) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107) at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:277) ... 22 more Caused by: org.apache.maven.scm.ScmException: Exception while executing SCM command. at org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:63) at org.apache.maven.scm.provider.git.AbstractGitScmProvider.executeCommand(AbstractGitScmProvider.java:291) at org.apache.maven.scm.provider.git.AbstractGitScmProvider.checkin(AbstractGitScmProvider.java:217) at org.apache.maven.scm.provider.AbstractScmProvider.checkIn(AbstractScmProvider.java:410) at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.checkin(AbstractScmCommitPhase.java:156) ... 30 more Caused by: org.apache.maven.scm.ScmException: Detecting the current branch failed: fatal: ref HEAD is not a symbolic ref at org.apache.maven.scm.provider.git.gitexe.command.branch.GitBranchCommand.getCurrentBranch(GitBranchCommand.java:147) at org.apache.maven.scm.provider.git.gitexe.command.checkin.GitCheckInCommand.createPushCommandLine(GitCheckInCommand.java:192) at org.apache.maven.scm.provider.git.gitexe.command.checkin.GitCheckInCommand.executeCheckInCommand(GitCheckInCommand.java:132) at org.apache.maven.scm.command.checkin.AbstractCheckInCommand.executeCommand(AbstractCheckInCommand.java:54) at org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:59) ... 34 more [ERROR] [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException simple 02-Dec-2013 17:18:09 Failing task since return code of [/opt/dev/apache-maven/3.0.5//bin/mvn -Djava.io.tmpdir=/opt/atlassian/bamboo/5.2.1/temp/HPCMOM-RELEASE-JOB1 release:prepare --batch-mode -DignoreSnapshots=false -DreleaseVersion=1.1.2 -DdevelopmentVersion=1.2.0-SNAPSHOT -Dtag=v1.1.2 -X] was 1 while expected 0
更新:
这样git ls-remote .
在本地工作区克隆产生:
azg@olympus:~/code/hpcmom$ git ls-remote . 7894eea08a0afecb99515d1339623be63a7539d4 HEAD 7894eea08a0afecb99515d1339623be63a7539d4 refs/heads/master 7894eea08a0afecb99515d1339623be63a7539d4 refs/remotes/origin/HEAD 7894eea08a0afecb99515d1339623be63a7539d4 refs/remotes/origin/master 6a7095b86cccdfd4b28e4dea633d0930809ae9ac refs/tags/v1.0 1a53462b1ecf0abfea8245016304cda9c78b420d refs/tags/v1.0^{} 5113a7cbcf35c47b680a9c36e15e5fa01ef1d2e6 refs/tags/v1.1 79a3073ecabe65d3c8051520f8007d9e49a65a06 refs/tags/v1.1^{} a00249209597ea1214d80ee38f228c40db7022c2 refs/tags/v1.1.0 e892bce8d25d87368ab557fee0d30810bef7e31e refs/tags/v1.1.0^{} b491a312c39088533cb069e4ab1ae8a00d1f6bfe refs/tags/v1.1.2 a3f7618dada7ed60d8190426152ffd90e0e40a86 refs/tags/v1.1.2^{}
这样做git ls-remote .
的竹克隆产生:
azg@olympus:/var/atlassian/application-data/bamboo/xml-data/build-dir/HPCMOM-RELEASE-JOB1$ git ls-remote . 2422ce066ac35dae3c54f1435ef8dae5008a9a14 HEAD 57c08d581c0fd9e788049733fbdc9c22b9a6ae00 refs/heads/master 57c08d581c0fd9e788049733fbdc9c22b9a6ae00 refs/remotes/origin/HEAD 57c08d581c0fd9e788049733fbdc9c22b9a6ae00 refs/remotes/origin/master 7539f9700d78a1b766fca7ed9f409914f1ea9d08 refs/tags/vnull 6bfa8c3fdb1f8f56a385035f01b1b77b6e88da8b refs/tags/vnull^{}
这是非常奇怪的为什么本地开发克隆输出与Bamboo的不同?
我在Jenkins上遇到了与maven发布插件相同的错误,我们通过转到其他行为修复它,检查到特定的本地分支并输入'master'
我意识到这不是一个解决方案,但它可能会给你一些指导方向.
对于Jenkins和GIT,添加其他行为check out to specific local branch
并使用Workspace Cleanup Plugin
清理工作区到CI作业的开头.
通过取消检查默认设置Use shallow clones
和描述来解决Atlassian Bamboo中的问题Fetches the shallowest commit history possible. Do not use if your build depends on full repository history
.此复选框位于"计划配置" - >"存储库"选项卡 - >"Git" - >"高级"选项下
在此之后所有版本都可以正常工作.
Use shallow clones
在我的情况下取消选中是不够的(我正在使用Bamboo 5.7.2).我还需要Force Clean Build
在Source Code Checkout任务中启用.启用Use shallow clones
它将适用于下次执行作业,但所有后续执行都将导致相同的错误.