Jenkins,Maven Release Plugin和SVN

时间:2013-09-03 10:00:33

标签: svn maven jenkins maven-release-plugin

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

    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>

它也没有帮助。可能导致这种情况的原因,我该如何解决?

2 个答案:

答案 0 :(得分:4)

我有类似的问题。我通过使用与jenkins使用的release-plugin相同的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>

但是,在配置完成后,您必须清理一次作业工作区。

答案 1 :(得分:0)

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版本以匹配sen版本的jenkins。 ci不适用于最新版本的svn,它使用的是较低版本。

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

“svn命令失败.svn不被识别为内部或外部命令,可操作程序或批处理文件”。当我尝试使用jenkins自动构建时,我遇到了svn的问题。基本上我降级本地svn以解决上述问题,并没有重启tomcat,我正面临这个问题。因此,在重新启动tomcat之后,它开始获取svn命令并且它成功运行。

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