gitlab - 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 时,源分支的所有痕迹都会被删除,所以我不确定如何确定这是否是修补程序。
解决方案
推荐阅读
- python - 如何在python中用\'替换单引号(')?
- java - Spring Cloud Gateway Filter - 自定义异常响应
- amazon-web-services - Apache Manged Airflow EMR 操作员 DAG 失败
- javascript - 音乐机器人正在播放音乐,但没有人能听到
- geospatial - 以顺序方式进行时空聚类?
- python - 如何通过字符串中的ManyToManyField过滤对象
- c++ - C ++从txt文件中读取getline并存储到字符串数组中
- java - “Arrays.sort(intervals,(arr1,arr2) -> Integer.compare(arr1[0],arr2[0])) 的含义
- node.js - 过滤器包括数据、Loopback、Mongodb、NodeJs
- java - 使用第三方api时java中的中文/日文支持