分支合并时错误触发流水线求助:Admin/Public API流水线需隔离
分支与流水线触发隔离解决方案
GitHub Actions 配置
针对 Admin API 流水线(如 .github/workflows/admin-api.yml),通过限定触发分支实现隔离:
name: Admin API Pipeline on: push: branches: - 'admin/**' # 匹配所有 admin 前缀的分支 - 'main-admin' # Admin API 主分支 pull_request: branches: - 'admin/**' - 'main-admin' jobs: build-deploy: runs-on: ubuntu-latest steps: # 此处添加你的构建、部署步骤
Public API 流水线(如 .github/workflows/public-api.yml)同理配置:
name: Public API Pipeline on: push: branches: - 'public/**' - 'main-public' pull_request: branches: - 'public/**' - 'main-public' jobs: build-deploy: runs-on: ubuntu-latest steps: # 此处添加你的构建、部署步骤
GitLab CI 配置
在 .gitlab-ci.yml 中通过 rules 字段为不同流水线设置分支匹配规则:
stages: - build admin-api-build: stage: build rules: # 仅当分支为 admin 前缀或 main-admin 时触发 - if: '$CI_COMMIT_BRANCH =~ /^admin\/.*$|^main-admin$/' when: always script: - echo "Building Admin API..." # 你的构建命令 public-api-build: stage: build rules: # 仅当分支为 public 前缀或 main-public 时触发 - if: '$CI_COMMIT_BRANCH =~ /^public\/.*$|^main-public$/' when: always script: - echo "Building Public API..." # 你的构建命令
Azure DevOps 配置
- 打开 Admin API 流水线,进入「触发器」选项卡
- 在「分支」区域添加包含规则:
refs/heads/admin/*、refs/heads/main-admin,并设置「排除」为*(排除所有未匹配分支) - 对 Public API 流水线执行相同操作,包含规则设为
refs/heads/public/*、refs/heads/main-public
关键检查点
- 确认所有流水线未设置全局通配符触发规则(如
*) - 若使用合并请求触发,需明确规则是匹配源分支还是目标分支,根据实际合并流程调整匹配逻辑
内容的提问来源于stack exchange,提问作者Ismail Khan
相关产品推荐
相关产品推荐

