繁体   English   中英

Jenkins Subversion多分支管道找不到管道

[英]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
  • 该第一个目录为空,并且不是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' 
}

解决此问题的方法是将CD放入每个sh的脚本目录,例如使用

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

但这不是必须的。

为什么这立即不起作用?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM