Luk*_*sac 2 git continuous-integration gitlab gitlab-ci gitlab-ci-runner
我有以下用于在合并请求上启用管道的配置。我希望此管道仅在对少数特定分支的合并请求时运行。例如:“release/some-xyz-branch”和“develop”分支。怎么做 ?
test_job:
stage: test
only:
- merge_requests
script:
- npm run test
Run Code Online (Sandbox Code Playgroud)
我尝试在“-merge_requests”之后添加分支名称,如下所示,但它没有按预期工作。
test_job:
stage: test
only:
- merge_requests
- develop
- release/some-xyz-branch
script:
- npm run test
Run Code Online (Sandbox Code Playgroud)
您可以使用variableswithrefs来运行管道。
test_async:
script:
- echo "Test Async"
only:
refs:
- merge_requests
variables:
- $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^release\/.*$/
test_db:
script:
- echo "Test db"
only:
- master
Run Code Online (Sandbox Code Playgroud)
在上面的 yaml 中,test_async只有在创建合并请求并且目标分支以develop或 开头时才会运行release/。test_db只会在提交给 master 时运行。