当我做"执行maven release"在Jenkins上运行,我在控制台日志中收到此错误:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46.205s
[INFO] Finished at: Fri Mar 13 10:29:44 ICT 2015
[INFO] Final Memory: 6M/11M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: com.library:MYPROJECT:0.0.1-SNAPSHOT @ E:\jenkins\workspace\MYPROJECT\pom.xml]
[JENKINS] Archiving E:\jenkins\workspace\MYPROJECT\pom.xml to /var/lib/jenkins/jobs/APGIS/modules/com.library$MYPROJECT/builds/2015-03-13_10-29-02/archive/com.library/MYPROJECT/0.0.1-SNAPSHOT/MYPROJECT-0.0.1-SNAPSHOT.pom
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project MYPROJECT: Unable to check for local modifications
Provider message:
The svn command failed.
Command output:
'svn' is not recognized as an internal or external command,
operable program or batch file.
我已经使用SlikSVN-1.6.1和mvn-3.0.4安装了SVN客户端,并在Maven-slave机器的命令提示符中检查了已安装的命令。
我试图做"执行maven release"在Maven-slave上直接使用dry-run命令提示符。结果就是工作!!。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4</version>
</plugin>
POM.xml中的Maven-release-plugin版本是2.4.0。
这个问题发生在Maven-slave机器的Windows7中,但是即使两台机器之间的SVN客户端和mvn版本相同,WindowsXP也没有建立。
这可能是什么原因,我该如何解决?
答案 0 :(得分:0)
命令输出:'svn'不被识别为内部或外部命令,可操作程序或批处理文件。
这意味着 svn.exe 客户端可执行文件的文件夹位置不在 PATH 环境变量中。
答案 1 :(得分:-1)
你的奴隶是什么操作系统?詹金斯在它自己的用户下运行。如果在Linux / Mac上,它将在jenkins
用户下运行。只是因为您为自己的用户安装了svn
,并不意味着所有其他用户都可以访问它。
以jenkins身份登录,然后验证:
sudo su - jenkins
svn
答案 2 :(得分:-1)
您可以尝试为特定从属设备启用Tool locations
,并明确指定HOME
安装的svn
。要达到此目的,Manage jenkins
- &gt; Manage nodes
- &gt; Your Windows 7 node
- &gt; Configure