首页 > 解决方案 > Gitlab CI在合并后无法区分修补程序分支

问题描述

当 MR 与修补程序相关时,我想创建一个单独的管道。对于这个问题,我假设只要分支名称以 hotfix/ 开头,那么就需要区别对待。以下规则是我用于此问题的规则:

rules:
    - if: '($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^hotfix\/.*$/) || ($CI_COMMIT_REF_NAME == "mater" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^hotfix\/.*$/)'

此条件在创建 MR 时有效,因此条件的第一部分按预期工作。但是,第二部分不起作用,因为CI_MERGE_REQUEST_SOURCE_BRANCH_NAME不存在。显然,当合并 MR 时,源分支的所有痕迹都会被删除,所以我不确定如何确定这是否是修补程序。

标签: gitlabgitlab-ci

解决方案


推荐阅读