Jenkins Subversion Multibranch 管道找不到管道

Posted

技术标签:

【中文标题】Jenkins Subversion Multibranch 管道找不到管道【英文标题】:Jenkins Subversion Multibranch pipeline cannot find pipeline 【发布时间】:2016-10-26 15:47:45 【问题描述】:

我正在尝试在 Jenkins 中设置一个使用 Subversion 的多分支项目。我提供了一个带有主干、标签和分支文件夹的 Subversion URL,例如 http:///mysvn/mysvnproject

Branch Indexing Log 成功,显示类似于

检查候选分支 /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 工作副本,它包含trunkpom.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' 

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

为什么这不能马上工作?

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Jenkins Subversion Multibranch 管道找不到管道的主要内容,如果未能解决你的问题,请参考以下文章

UnicodeEncodeError: ‘gbk’ codec can’t encode character u’u200e’ in position 43: illegal multib

jenkins 打包时,提示字符不可映射字符

Jenkins介绍

jenkins1

jenkins插件开发

Jenkins代码上线