【问题标题】:Jenkins, Maven Release Plugin and SVNJenkins、Maven 发布插件和 SVN
【发布时间】:2013-09-06 12:24:21
【问题描述】:

我正在使用 Jenkins 的 Maven 发布插件进行发布。我收到以下错误:

    message : Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.2.2:prepare (default-cli) on project kobv-albert-frontend-dkfz: Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/var/lib/jenkins/jobs/svn-lokal-dkfz/workspace' is too old (format 10, created by Subversion 1.6)

cause : Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/var/lib/jenkins/jobs/svn-lokal-dkfz/workspace' is too old (format 10, created by Subversion 1.6)

Stack trace : 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.2.2:prepare (default-cli) on project kobv-albert-frontend-dkfz: Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/var/lib/jenkins/jobs/svn-lokal-dkfz/workspace' is too old (format 10, created by Subversion 1.6)

我尝试svn upgrade,但没有帮助。我还尝试了maven-release-plugin的不同版本:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.2.2</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-scm-plugin</artifactId>
      <version>1.7</version>
    </dependency>
  </dependencies>
</plugin>

这也无济于事。这可能是什么原因造成的,我该如何解决?

【问题讨论】:

  • 您是否尝试查看此链接stackoverflow.com/questions/15107857/…
  • 谢谢,看了这篇文章,但这不是我需要的。
  • 我遇到了与 OP 完全相同的问题,Fausto 发布的链接中建议的解决方案解决了我的问题。

标签: svn maven jenkins maven-release-plugin


【解决方案1】:

CI 系统 (Jenkins/Hudson) 利用安装在运行 ci 的系统上的 subversion(svn)。 当它给出错误时:x/y/z 的工作副本太旧(格式 8/10/11)无法与客户端版本 'x.y.z(即 1.9.4)一起使用。您需要先升级工作副本。有两种解决方案,要么更新“Subversion Workspace 版本(svn 版本)”以匹配本地安装的 svn 版本的格式。如果 ci 不支持本地安装的 svn ,那么您将需要降级或升级本地安装的 svn 版本以匹配 jenkins 的 svn 版本。 ci 不适用于最新版本的 svn,它使用稍低的版本。

如果您在内部使用 svnkit 或通过任何容器(eclipse、webserver、tomcat、osgi..)利用环境变量并且 env-variables 正常工作,那么您需要重新启动容器以便它可以接受/重新加载环境变量的值。

“svn 命令失败。svn 不是内部或外部命令、可运行程序或批处理文件”。在尝试使用 jenkins 自动构建时,我遇到了 svn 的问题。基本上我降级本地svn以解决上述问题并且没有重新启动tomcat,我正面临这个问题。所以重启tomcat后,开始接svn命令,就成功了。

使用 Jenkins 1.7.1,操作系统:Window 8.x,Java:1.8.x 64bit,Tomcat 8.x,jenkins 的稳定版 svn 1.8 版本和本地安装的 svn 客户端版本; 2016 年 7 月 26 日 vinod bherwal。

【讨论】:

    【解决方案2】:

    我也有类似的问题。我通过使用与 jenkins 使用的发布插件相同的 svn-client 解决了这个问题。

    <plugin>
      <artifactId>maven-release-plugin</artifactId>
      <version>2.4.1</version>
      <configuration>
        <providerImplementations>
          <svn>javasvn</svn>
        </providerImplementations>
      </configuration>
      <dependencies>
        <dependency>
          <groupId>com.google.code.maven-scm-provider-svnjava</groupId>
          <artifactId>maven-scm-provider-svnjava</artifactId>
          <version>2.0.6</version>
          <scope>compile</scope>
        </dependency>
      </dependencies>
    </plugin>
    

    但是你必须在配置后清理你的工作空间一次。

    【讨论】:

    • 如何知道 Jenkins 使用的是哪个版本的 SVN?我已经结束了。
    • Jenkins 使用哪个版本的 Subversion 无关紧要 - 您只需要确保您指定的 maven-scm-provider-svnjava 版本支持您的代码库使用的相同版本的 Subversion - 请参阅主要的 Subversion 版本兼容性在这里code.google.com/a/apache-extras.org/p/…
    猜你喜欢
    • 2018-06-02
    • 1970-01-01
    • 2014-09-12
    • 2013-04-02
    • 1970-01-01
    • 2016-03-03
    • 2018-03-29
    • 2015-11-25
    • 1970-01-01
    相关资源
    最近更新 更多