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

Jenkins-基于push的多分支管道构建

公羊晟
2023-03-14

我正试图在詹金斯建立一个多分支管道项目。理想情况下,我希望在开发人员推出新代码后构建分支管道。例如,如果开发人员推送到“dev”分支,那么“dev”管道将自动生成。

我知道在“扫描多分支管道触发器”选项下,您可以设置Jenkins查找更改的频率,但我更希望是相反的方式,这意味着一旦分支中有新代码,Jenkins将构建管道。

我配置了我的Jenkinsfile,并在我的GitHub项目中设置了Web挂钩,但我不知道我想做的事情是否可以完成,或者我是否缺少插件或配置。此外,Jenkins目前正在作为库伯内特斯pod运行。

共有3个答案

陆仲渊
2023-03-14

我在这篇文章中分享了一个指南/教程,它是关于Gitlab和Jenkins的,但有一些类似的部分可能会帮助你。

南门峰
2023-03-14

我看到了问题,对于多分支管道项目,源必须是GitHub而不是Git。使用所需的事件配置Web挂钩,手动构建项目一次,然后进行测试推送,它应该可以工作。

李洋
2023-03-14

您必须在Jenkins上安装Github Branch源插件,并将URL配置为

您可以从Cloudbees中查看此支持留档以获取分步配置帮助。

 类似资料:
  • 对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应

  • 是否可以将多分支管道限制为一次只构建一个分支? 我有一个管道,它包含签出、构建、测试,然后部署的步骤。部署阶段在特定的机器上复制/执行一些文件,这些工作无法与其他分支作业并行完成。 我尝试过: 但这只限制了基于分支的并发,因此仍然有多个分支将并行运行。 此外,在常规非流水线Jenkins作业中,有一个选项复选框: “必要时执行并发生成” 但这在多分支配置中也不可用。 是否有其他配置来实现这一点,或

  • 我正在努力使用Jenkins 2.1多分支管道,在这里,我从同一个git存储库构建了多个工件。一些工件是独立的,应该根据它们各自目录中的更改触发构建。有些是依赖的,应该由先前的步骤/构建触发。 存储库有一个控制整个管道的文件。Jenkins多分支管道作业会在所有更改时触发(无其他行为)。 我不知道如何在目录dirA发生变化时触发工件A的构建。 git回购协议中的Jenkins文件file:///r

  • 我正在使用管道插件运行Jenkins 2。我已经设置了一个多分支管道项目,其中每个分支(主、开发等)在根目录中都有一个Jenkinsfile。设置这个很简单。但是,我不知道如何让每个分支定期运行(不是分支索引),即使代码没有改变。我需要在Jenkinsfile中放入什么来启用定期构建?

  • 我对使用Jenkins文件和GIT插件的Jenkins多分支pipleline有一个问题。 问题是,每次向暂存分支推送都会触发master管道。所需的行为是,推送到暂存分支仅触发用于暂存的管道,而推送到主分支仅触发主管道 这是我的詹金斯档案 我将分享一些日志:这是主分支的日志 这是主分支的日志,但只有暂存有一个新的提交: 注意“已发现更改”,即使主分支上的头未更改 詹金斯·弗。2.190.1 Gi

  • 有人知道如何使用跨分支的多分支作业中设置的声明性管道来限制并发构建吗? 每当我们为某个阶段设置代理时,就会分配一个新的执行者。这会导致死锁,例如,当您为尽可能多的分支同时触发生成时,您有执行者。不设置代理会导致阶段随机选择执行者,这是不可接受的,因为某些阶段需要在某些代理上运行。。。 经典的方法不起作用: Throttle并发构建插件不适用于多分支 设置属性([disableConcurrentB