当前位置: 首页 > 面试题库 >

我如何配置Jenkins来构建除不包括的几个分支以外的所有分支?

林亦
2023-03-14
问题内容

我们在git中有一些代码,我开始设置Jenkins来获取我们的分支并尝试进行编译。自从上次建立以来的几年中,似乎有些分支可能已经开始腐烂,因为它们无法完成制作。

我想建立所有找到的分支,除了排除分支列表。詹金斯有可能吗?这将使我开始运行,然后在尝试修复它们时回来启用更多分支。

到目前为止我尝试过的

正则表达式

看着“
Git>建立分支”选项,我希望可以用:替换默认的’**’通配符。对http://rubular.com/进行一些深入研究和仔细检查后,发现以下内容可能会满足我的要求。

:^(?! origin / exclude \ -this \ -branch \ .v1 | origin / exclude \ -this \
-branch \ -too.v2)(\ S +)

现在,这里有一个关于在后台运行的正则表达式引擎的假设。我希望它可以理解前瞻性,但是如果不这样做,则可以解释为什么此方法失败。它似乎建立了所有分支,包括我尝试排除的分支。也许我只需要找到更多调试功能?

在这里寻找类似的问题

我遇到了Jenkins /Hudson使用优先级构建所有分支,这似乎包含了一种可能的解决方案,其中一些向分支匹配https://html" target="_blank">github.com/jenkinsci/git-plugin/pull/45添加了一个 反向
选项,听起来像我需要的。可悲的是,这似乎不是我所拥有的詹金斯版本,这很奇怪,因为2011年已经很久了。

我正在使用的系统

Ubuntu LTS 14.04。詹金斯版 1.611。GNU工具链可生成C / C ++代码。


问题答案:

怎么样使用

^(?!.*master).*$

作为分支说明符。此正则表达式表示所有不匹配master的分支。

分解:

^(?!.*master).*$
^                ---> beginning of string
 (?!        )    ---> negative lookahead find all that doesnt match
    .*           ---> zero or more of 'any' character
      master     ---> should not match master
             .*$ ---> will match anything to the end of string


 类似资料:
  • 问题内容: 我有一个由Gerrit触发的Jenkins构建,除了之外,我想在所有分支上触发。我应该为此使用什么正则表达式? 问题答案: 使用否定的前瞻对我有用: 应该触发 除 主机 以外的所有内容。

  • 我正在尝试设置以下内容http://entagen.github.io/jenkins-build-per-branch/詹金斯的插件。我创建了一个名为test_template-master的作业,并在Switches字段中将-DtemplateJobPrefix=test_uu-DtemplateBranchName=master放入我的配置中。 当运行作业现在我得到以下错误: 从中获取项目名

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

  • 问题内容: 我们有很多开发人员正在创建我要构建的功能分支。每晚,我们运行一个需要在每个分支上运行的代码质量工具。我也不希望使用静态配置,因为分支的数量每几周更改一次。 问题答案: 在Git配置中,有一个字段“分支指定符(默认为空白):”(如果您放置在其中**),它将从所有遥控器构建所有分支。 有了它,您可以使用环境变量$ {GIT_BRANCH}例如使用https://wiki.jenkins-

  • 问题内容: 如何配置Jenkins来构建所有分支,同时为master分支赋予最高优先级? 我的第一个想法是创建两个作业,其中一个配置为构建所有分支,另一个配置为仅构建主服务器,然后使用作业优先级插件预先配置主服务器。 这是行不通的,因为所有分支显然都建立了包括master在内的所有分支。 问题答案: 为此,Git插件具有BuildChooser扩展点。Git插件告诉您可能要构建的所有有趣的修订版(

  • 我有一个Jenkins多分支项目和几个分支,其中Jenkins管道文件。我还有几个常见的参数,这些参数适用于每个分支(如要运行的测试组、selenium属性等) 如何在Jenkins接口中定义这些参数的集合,以便它们将出现在每次分支运行中,以便每个新分支自动变为“参数化构建”?我可以在特定分支构建的配置中看到此标志(但无法保存): 但不在多分支项的配置中。 詹金斯2.89.3