我试图在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
@script
结尾)是Subversion工作副本,它包含trunk
的内容,因此pom.xml
。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'
但这不是必要的......?
为什么这不能马上工作?
答案 0 :(得分:0)
将checkout scm
放在Jenkinsfile中将使用源填充空管道目录。