1

我刚刚将我们的 Hudson 从 2.2.0 升级到 2.2.1 以修复一个已知的电子邮件错误。这样做会导致一些问题,尤其是在 dryRun 构建时。升级后,所有的 dryRun 作业都失败了。

我不确定发生了什么,但某些原因导致 svn 版本冲突:

svn: The path '.' appears to be part of a Subversion 1.7 or greater
working copy.  Please upgrade your Subversion client to use this
working copy.

我们有几个构建来运行发布:准备

clean -e release:clean release:prepare -DdryRun=true
  • Hudson Maven(旧版)插件-> 2.2.1
  • Hudson Maven3 插件 -> 2.2.0
  • Hudson 颠覆插件 -> 2.3.2

似乎文件已正确下载,但“检查修改”步骤似乎没有必要。

Maven输出:

[INFO] Verifying that there are no local modifications...
[INFO] Executing: /bin/sh -c cd /var/lib/hudson/jobs/anonymousName-app-svn-dryRun-release/workspace/app && svn --non-interactive status
[INFO] Working directory: /var/lib/hudson/jobs/anonymousName-app-svn-dryRun-release/workspace/app
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: The path '.' appears to be part of a Subversion 1.7 or greater
working copy.  Please upgrade your Subversion client to use this
working copy.

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: The path '.' appears to be part of a Subversion 1.7 or greater
working copy.  Please upgrade your Subversion client to use this
working copy.

        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
        at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at hudson.maven.agent.Main.launch(Main.java:173)
        at hudson.maven.MavenBuilder.call(MavenBuilder.java:164)
        at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:917)
        at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:848)
        at hudson.remoting.UserRequest.perform(UserRequest.java:114)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:283)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:453)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
        at java.util.concurrent.FutureTask.run(FutureTask.java:150)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:898)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:920)
        at java.lang.Thread.run(Thread.java:736)
Caused by: org.apache.maven.plugin.MojoFailureException: Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: The path '.' appears to be part of a Subversion 1.7 or greater
working copy.  Please upgrade your Subversion client to use this
working copy.

        at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:190)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        ... 28 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12 seconds
[INFO] Finished at: Thu Jun 14 12:56:15 CEST 2012
[INFO] Final Memory: 25M/63M
4

1 回答 1

1

2.2.1 版本中,Hudson 升级到 SVNKit 1.7,导致 Subversion 工作副本使用非向后兼容的 1.7 格式。

Maven release-plugin 从路径中调用您的 SCM 提供者 Subversion。您可能为命令行安装了 Subversion 1.6 或更早版本。

一种可能的解决方案是将命令行 Subversion 安装升级到 1.7 版。

于 2012-06-16T08:21:05.833 回答