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

仅在提交到主机时触发Jenkins管道作业

柳奇思
2023-03-14

我有一个由github网络钩子触发的JenkinsPipeline作业,因此在提交到Github时会触发构建。但是,我只希望在向master分支提交时触发构建。目前,任何提交都会触发构建,即使提交是在功能分支上进行的。

有没有办法在不诉诸多分支工作的情况下实现这一点?

我在Jenkins配置、jenkinsfile或Github repo的webhook中看不到任何过滤分支(触发器)的方法。

我能找到的唯一特定于分支的信息是代码将从哪个分支开始构建,但是对任何其他分支的提交仍然会“触发”构建。

任何人都可以帮忙吗?

共有2个答案

楚良平
2023-03-14

您可以通过下面的步骤来改变哪个分支将“触发”一个构建的模式

地点:詹金斯-

古彦
2023-03-14

因此,我越深入研究,就越意识到Stephen是对的,我应该使用多分支管道方法。事实上,在较新的Blue Ocean UI中,默认情况下,所有管道都是多分支的,这进一步表明这是一条可行之路。

至于关于触发构建的第二个问题,这似乎与已设置的分支源有关。这最初是使用 git 分支源代码。一旦将其更改为github分支源,并且在jenkins中正确配置了github服务器,则触发器将按预期工作。

 类似资料:
  • 我正在努力在将提交添加到GitHub上的特定分支时触发Jenkins Pipeline作业。 我在詹金斯工作选项上没有看到合适的构建触发器,就像詹金斯自由式工作一样。 如何将Jenkins管道作业设置为在使用新提交更新分支时触发? 到目前为止,我还没有找到这个场景的明确答案,只有在提交到master时触发Jenkins管道作业,只有关于多分支作业的答案。 任何关于这个问题的帮助将不胜感激!

  • 我有一个管道(jenkins)工作,它使用多个存储库。 存储库是这样签出的: 现在,我想在对任何存储库进行提交时触发该作业。如何配置?

  • 描述 我设置了Jenkins(2.126),以便在推送新标记时构建管道。具体来说,我想标记上的现有提交为,并使其触发构建。根据几个消息来源,我想要的是可能的: https://mohamicorp.atlassian.net/wiki/spaces/DOC/pages/136740885/Triggering詹金斯基于新标签 不幸的是,当我标记一个现有的提交并将其推送到Git存储库时,什么都不会发

  • 问题内容: 我目前正在测试Jenkins 2.0的管道方法,以查看它是否适用于我正在使用的构建环境。 首先是环境本身。当前它由多个SCM存储库组成。每个存储库都包含多个分支,用于开发的不同阶段,并且每个分支都使用多种配置构建。并非所有配置都适用于每个存储库。 当前,每个存储库/分支都被设置为适用于不同配置的矩阵项目。每个项目将其构建结果作为工件公开,并且这些工件在下游项目中使用。 不同的存储库彼此

  • 我有不同的 Jenkins 管道作业,用于构建、部署、QA 自动化测试和发布到生产环境。我正在构建一个 Jenkins Delivery 管道,以便在单个管道中运行这些作业。管道应该类似于 QA 认证完成后,应触发生成作业进行审批,然后发布准备作业可以进一步运行。流量应该是这样的: 在开发分支上使用Jenkinsfile在单个管道作业中运行Build、Junit和SonarQube分析 在上述作业

  • 管道A:仅由其自身回购之外的多个其他管道触发,但在同一项目中。作为被触发的结果,它对自己的回购进行更改,因此触发管道B。 pipleline B:仅由对其自身回购的更改触发,当被触发时,它将继续执行所需的任何操作 将语法流水线化 当前行为 null null 安装:https://docs.microsoft.com/en-us/azure/devops/cli/?view=azure-devop