当前位置: 首页 > 知识库问答 >
问题:

Jenkins管道检查错误版本

司马宏邈
2023-03-14

我正在尝试使用 Jenkinsfile 实现一个新的 Jenkins 管道。

GIT存储库并没有在每个分支上都有一个Jenkinsfile,只是在一个特定的分支下(因为我目前正在为一个遗留存储库构建CI)。

Jenkins管道是使用以下配置创建的:

  • 丢弃旧版本(我不想手动清理)
  • Bitbucket webhook trigger (on push event)
  • 来自 SCM 的管道脚本
    • Bitbucket server(使用Bitbucket server插件)
    • 身份验证内容
    • 要构建的分支:**
    • 脚本路径:詹金斯文件
    • 轻量级结账被禁用

    网络钩子是在我的比特桶html" target="_blank">存储库中自动创建的,并且构建被很好地触发(当我使用Jenkinsfile在分支上推送修改时)。

    但是,Jenkins不会检查钩子中发送的提交(与另一个分支的HASH不同)。因此,构建崩溃为Jenkinsfile不存在于另一个分支上(并且永远不会存在于旧的遗留分支上)。

     > git fetch --tags --force --progress -- http://mybitbucket:port/scm/vs/myrepo.git +refs/heads/*:refs/remotes/myrepo/* # timeout=10
    Seen branch in repository myrepo/old-branch-a
    Seen branch in repository myrepo/old-branch-b
    ...
    Seen 40 remote branches
     > git show-ref --tags -d # timeout=10
    Checking out Revision 0a781a1bd4ad194aae911ce26d1ec4cd1e73dd76 (myrepo/old-branch-x)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 0a781a1bd4ad194aae911ce26d1ec4cd1e73dd76 # timeout=10
    Commit message: "my commit message"
    First time build. Skipping changelog.
    Posting build status of INPROGRESS to mybitbucket for commit id [0a781a1bd4ad194aae911ce26d1ec4cd1e73dd76] and ref 'null'
    ERROR: /var/jenkins_home/workspace/myrepo@script/Jenkinsfile not found
    

    技术背景:

      < li >在docker容器中运行的Jenkins 2 . 303 . 3 < li>Bitbucket服务器集成插件

    我无法理解为什么选择这个版本而不是在钩子中发送的版本。

    非常感谢你的帮助!

共有1个答案

景育
2023-03-14

我一直被误导了。

事实证明,我需要使用<code>多分支管道

我仍然对常规管道的行为感到沮丧,这对我来说毫无意义,而且似乎记录得很差。

 类似资料:
  • 问题内容: 我有这个错误: 当但奇怪的是,更新此插件时发生错误:管道共享Groovy库,在此工作正常之前,我使用jenkins v 2.21和管道2.4,而我的代码是下一个: 问题答案: Jenkins作业可以保存在执行中,这需要对它们进行序列化。rawBuild的内容无法序列化,因此,如果要访问它,则需要在以开头的函数中进行序列化。例如:

  • 我正在尝试使用mysqlworkbench从mysql导出数据。我得到以下错误。 错误检查mysqldumpversion错误检索版本从C:\程序文件\MySQL\MySQL服务器5.6\bin\mysqldump.exe:退出(1) 我在 mysqldump 工具和 mysql 的编辑首选项中为 mysqldump 设置了正确的目录.exe但仍然收到此错误。我正在使用MySQL 5.6和Work

  • 问题内容: 我在Jenkinsfile中遇到Jenkins管道的问题。我的Jenkins实例上有4个不同的nodeJs版本。我想选择要在管道中使用的那个,但是官方插件示例(https://wiki.jenkins- ci.org/display/JENKINS/NodeJS+Plugin )根本不起作用。 我尝试了第一种方法,但由于$ PATH被该部分覆盖而失败。 我尝试了第二种方法,但失败了,因

  • 问题内容: 我希望能够说些类似的话: 用例:我正在并行构建和测试在不同平台上的运行,并希望确保每个都获得相同的代码。它是C ++,我们建立在独立的平台上,也建立在它们之上。 如果执行上述操作,它将失败-基础代码假定给定的分支实际上是一个分支,或者得到类似以下内容的代码: 尽管没有实际答案,但我看到过有人问过这个问题,尽管有一些建议-只是喜欢隐瞒源代码,等等。这并不是我真正想要的。 该文档建议应该有

  • 问题内容: 我在执行正则表达式匹配的函数前使用,即使使用注释,我仍然遇到错误。 请注意,它会多次调用该函数,并且仅在实际匹配后才会发生异常。 这是我的代码: 进行詹金斯构建时的输出: 问题答案: 可能是由于范围可变。尝试像这样限制它: 在全局脚本绑定中创建没有变量的变量,因此从方法退出后仍然存在。

  • 我正在本地可信环境中运行Jenkins,我正在尝试运行此管道。此Jenkinsfile已签入git。 最初几次运行构建时,我需要手动批准变更(Jenkins-