You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让JFrog Pipelines仅按GitRepo资源指定规则触发构建?

问题分析与解决方案

核心问题定位

你当前的配置逻辑和需求完全相反:

  • 你用了files.include匹配templates/pipelines/下的文件,结合buildOn.pullRequestCreate: true,会导致只要PR包含这些文件就触发构建,但你的需求是包含这些文件时不触发。
  • 另外,正则表达式存在语法问题:\/(pipelines)\/*.+$里的/*是无效写法,*需要匹配前置字符,这里应该写成/.+来匹配文件夹下的任意文件。

修正后的配置

把files.include改为files.exclude,同时修正正则表达式:

- name: platform_pr
  type: GitRepo
  configuration:
    gitProvider: myGithub
    path: dev/helm-values
    files:
      exclude: ^templates/pipelines/.+$  # 用单引号无需转义/,用双引号则需写成"^templates\\/pipelines\\/.+$"
    branches:
      include: ^master$
    buildOn:
      commit: false
      pullRequestCreate: true
      tagCreate: false
    cancelPendingRunsOn:
      newCommit: false
      pullRequestUpdate: true

关键细节说明

  • files.exclude的作用:指定哪些文件变更会被排除,当PR中只有这些被排除的文件变更时,不会触发构建;如果PR还有其他未被排除的文件变更,依然会触发。
  • 正则规则:^templates/pipelines/.+$精准匹配以templates/pipelines/开头的所有文件,覆盖该文件夹下的所有层级内容。
  • 验证方式:提交仅修改templates/pipelines/下文件的PR,确认未触发构建;再提交包含其他文件修改的PR,检查是否正常触发,以此验证配置生效。

内容的提问来源于stack exchange,提问作者nehamishra25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:01:36