![](/img/trans.png)
[英]Jenkins Multibranch pipeline cannot find Jenkinsfile in subfolder
[英]Jenkins Subversion Multibranch pipeline cannot find pipeline
我正在尝试在Jenkins中设置一个使用Subversion的多分支项目。 我提供了带有主干,标签和分支文件夹的Subversion URL,例如http:/// mysvn / mysvnproject
分支索引日志成功,显示类似以下消息
检查候选分支/ mysvnproject / trunk @ 181182达到标准分支的预定构建:主干已完成:成功
这表明Jenkins能够找到我的Jenkinsfile
。 当我删除此文件时,分支索引编制失败。
当我开始构建时,它失败并显示类似以下的消息
[错误]您指定的目标需要一个项目来执行,但此目录中没有POM(/ opt / jenkins / workspace / 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'
}
解决此问题的方法是将CD放入每个sh
的脚本目录,例如使用
sh 'cd ../*@script && mvn install -DskipTests'
但这不是必须的。
为什么这立即不起作用?
将checkout scm
放入您的Jenkinsfile中将使用源填充您的空管道目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.