Jenkins Multibranch 管道在子文件夹中找不到 Jenkinsfile

Jenkins Multibranch 管道在子文件夹中找不到 Jenkinsfile

我正在使用 Jenkins Multibranch 管道 - 具体来说,是 Organization 文件夹,它监控我的所有 Bitbucket 存储库并为包含 Jenkinsfile 的任何存储库构建管道。为简单起见,我已将其配置为目前仅查看我的 1 个存储库。

这是我的问题:

当 Jenkinsfile 位于我的 repo 的根文件夹中时,一切都正常 - Jenkins 看到 Jenkinsfile,并按照该 Jenkinsfile 中的定义创建管道。

repo
|
|___> Jenkinsfile

屏幕截图:Jenkins 配置为在根文件夹中查找 Jenkinsfile

正如你所见,Jenkins 毫无问题地找到了它:
屏幕截图:Jenkins 在根文件夹中找到 Jenkinsfile


但是,我想将 Jenkinsfile 移动到我的仓库中的子文件夹中(使我可以灵活地为 1 个仓库定义多个管道)。当我将其移动到子文件夹(jenkins/ci-pipeline/Jenkinsfile)时,即使我明确地将该相对文件路径提供给 Jenkins,它也找不到 Jenkinsfile!!

repo
|
|___> jenkins
       |
       |___> ci-pipeline
              |
              |___> Jenkinsfile

屏幕截图:Jenkins 配置为在子文件夹中查找 Jenkinsfile

如您所见,尽管jenkins/ci-pipeline/Jenkinsfile向 Jenkins 提供了相对文件路径(),但它声称无法再找到 Jenkinsfile:
屏幕截图:Jenkins 在子文件夹中找不到 Jenkinsfile

顺便说一句,尽管 Jenkins 字段的描述表明它是“相对位置”,但我还是尝试给它一个绝对文件路径(${WORKSPACE}/jenkins/ci-pipeline/Jenkinsfile),看看是否可行:
屏幕截图:Jenkins 配置了子文件夹的绝对路径

不幸的是,这也不起作用——Jenkins 而且没有扩展其WORKSPACE环境变量:
屏幕截图:即使使用绝对路径,Jenkins 也无法在子文件夹中找到 Jenkinsfile

我还登录了我的 Jenkins 工作节点并确认 Jenkinsfile 存在于该子文件夹中,位于我的 repo 的 Jenkins 工作区内。


有人能告诉我我做错了什么吗?这看起来很简单,但就是不起作用,这让我很抓狂!

答案1

这似乎是由于我的 Bitbucket Branch Source Plugin (2.2.9) 版本过旧造成的。

有关详细信息,请参阅https://stackoverflow.com/a/57791004/5505583

相关内容