Jenkins Subversion Multibranch管道无法找到管道

时间:2016-10-26 15:47:45

标签: jenkins jenkins-pipeline jenkins-workflow

我试图在Jenkins中设置使用Subversion的Multibranch项目。我提供了一个带有trunk,tags和branches文件夹的Subversion URL,例如http:///mysvn/mysvnproject

分支索引日志成功,显示类似于

的消息
  

检查候选分支/ mysvnproject / trunk @ 181182遇到   标准分支的预定构建:主干完成:成功

这表明Jenkins能够找到我的Jenkinsfile。删除此文件时,分支索引失败。

当我开始构建时,它失败并显示类似于

的消息
  

[错误]您指定的目标需要项目执行但在那里   这个目录中没有POM   (/选择/詹金斯/工作区/ myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA)。   请验证您是否从正确的目录中调用了Maven。 - > [救命   1]

当我检查服务器上的工作区时,我可以看到创建了三个目录

drwxr-xr-x 2 jenkins jenkins  6 25 okt 11:56 myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA
drwxr-xr-x 5 jenkins jenkins 78 25 okt 11:56 myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA@script
drwxr-xr-x 2 jenkins jenkins  6 26 okt 07:08 myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA@tmp
  • 此第一个目录为空,不是Subversion工作副本。
  • 第二个目录(以@script结尾)是Subversion工作副本,它包含trunk的内容,因此pom.xml
  • 最后一个目录为空,也不是Subversion工作副本。

Jenkins尝试在空目录中运行构建

#!groovy

node ('master') {

  stage 'Compile'
  env.PATH = "${tool 'Maven 3.2.5'}/bin:${env.PATH}"

  sh 'mvn clean install -DskipTests' 
}

此问题的解决方法是进入每个sh的脚本目录,例如

sh 'cd ../*@script && mvn install -DskipTests' 

但这不是必要的......?

为什么这不能马上工作?

1 个答案:

答案 0 :(得分:0)

checkout scm放在Jenkinsfile中将使用源填充空管道目录。