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

Jenkins Multibranch Config:如何根据可变字符串过滤分支?

宰父飞白
2023-03-14
问题内容

Jenkins设置了7个多分支管道项目,每个项目都基于相同的git
repo构建,但是针对不同的目标平台。这些多分支管道中的每一个都建立了许多分支。当前,我们通过在多分支项目配置中使用以下属性来设置每个多分支管道构建的分支:

Branch Sources -> Git -> Behaviors -> Filter by name (with wildcards)

当前,每个多分支管道在此Filter by name (with wildcards)字段中具有相同的分支字符串。每次我们希望Jenkins开始建立一个新分支时,我们都要遍历所有7个多分支项目配置,并更新此字段以包括新分支。

遍历每个配置并每次更改此字段都有些麻烦,因为我们一直希望每个配置都具有相同的分支列表。是否可以在此字段中简单地使用某种类型的变量?这样,我们只需要更改一个位置即可,而不必尝试使7个不同的配置彼此保持同步,这容易出错并且也很痛苦。

谢谢你的帮助!艾伦


问题答案:

您可以尝试使用正则表达式过滤分支,而不是使用通配符过滤。在我们的例子中,模式如下:

(master|develop|release.*|feature.*|bugfix.*)

很好地覆盖了存储库。也就是说,假设您遵循Git
Flow
或类似的方法。不幸的是,没有一种简单的方法可以在一个存储库中的MultiBranch
Pipelines构建之间同步配置。MultibranchPipeline和Organization插件均未设计用于多个Jenkinsfiles。

另外,您可以尝试使用Jenkins脚本控制台仅同步项目之间的分支配置。不必在项目级别上设置大多数作业配置。例如,您可以创建共享脚本(或共享库)以供其他作业使用,以在每个作业上设置相同的作业属性。



 类似资料:
  • 我们让Jenkins建立了7个多分支管道项目,每个项目都基于相同的git回购,但针对不同的目标平台。每个多分支管道都构建了多个分支。目前,我们通过在多分支项目配置中使用以下属性来设置每个多分支管道构建的分支: 分支源- 目前,每个多分支管道在此按名称筛选(带有通配符)字段中具有相同的分支字符串。每次我们希望Jenkins开始构建一个新的分支时,我们都会检查所有7个多分支项目配置,并更新此字段以包括

  • 问题内容: 我喜欢过滤掉字符串长度不等于10的数据。 如果我尝试过滤掉列A或B的字符串长度不等于10的任何行,则尝试这样做。 这工作缓慢,但正在工作。 但是,当A中的数据不是字符串而是数字(有时在read_csv读取输入文件时解释为数字)时,有时会产生错误。 我相信应该有更高效,更优雅的代码来代替。 根据下面的答案和评论,我找到的最简单的解决方案是: 要么 要么 问题答案: 应用于filex.cs

  • 可以对搜索结果进行过滤,只显示包含特定字段值的文档。也可以创建否定过滤器,排除包含特定字段值的文档。 从 Fields 表或 Documents 表中选择要添加的字段过滤器。除了可以创建积极字段和消极过滤器外,Documents 表还可以过滤某一字段是否存在。使用过的过滤器会在 Query 栏下方显示。消极过滤器用红色显示。 从 Fields 列表中添加一个过滤器: 点击想要过滤的字段名。这里显示

  • 问题内容: 我有一个很大的时间序列数据帧(称为 df ),前5条记录如下所示: 目标: 我正在尝试删除 “ stn” 列中存在列表中 任何 字符串 的 行。因此,我基本上是在尝试过滤此数据集,以使其不包含以下列表中包含任何字符串的行。 尝试: 返回值: 出[78]: 没有! 我尝试了一些引号,方括号甚至是lambda函数的组合;尽管我还很新,所以可能没有正确使用语法。 问题答案: 使用isin:

  • 问题内容: 我需要在系统内进行一些自动测试。有些字段得到了验证,可能不能仅仅通过它来完成(然后,我正在做,它只写了一个字符串,而不是整个字符串。尝试通过字符串迭代sendKeys,也不起作用) 现在,我正在尝试通过javascript将值输入字段。有类似的东西: 但是,我不希望在executeScript中具有值,而在java变量中具有值,因此它看起来更好地工作。并得到一些随机化 我该怎么做? 问

  • 下面是我的搜索响应示例,检索到4个结果。 现在,我想根据下面的标准,根据特定的“dir”字段值过滤上述搜索结果。 在且仅在以下情况下将搜索结果包含在响应中: 如果“dir”字段值等于“/shared”或“/private/hitesh” 如果“dir”字段值以“/shared/”或“/private/hitesh/”开头,则为其他 如何在ElasticSearch中实现上述功能?