有一种方法可以动态设置缓存:key:,如下所示:
cache:
key: if $CI_PIPELINE_SOURCE -eq 'merge_request_event' { "MR_$CI_MERGE_REQUEST_TRAGET_BRANCH_NAME_CACHE" } else { "PUSH_$CI_COMMIT_REF_NAME_CACHE" }
或者也许有一种方法可以动态定义 pipile 变量:
variables:
CACHE_KEY: if $CI_PIPELINE_SOURCE -eq 'merge_request_event' { "MR_$CI_MERGE_REQUEST_TRAGET_BRANCH_NAME_CACHE" } else { "PUSH_$CI_COMMIT_REF_NAME_CACHE" }
cache:
key: $CACHE_KEY
最佳答案
您正在寻找的是 rules check ,就像这样:
variables:
//Your default value
CACHE_KEY: "PUSH_$CI_COMMIT_REF_NAME_CACHE"
rules:
- if: if $CI_PIPELINE_SOURCE == 'merge_request_event'
//Override based on the above condition
variables:
CACHE_KEY: "MR_$CI_MERGE_REQUEST_TRAGET_BRANCH_NAME_CACHE"
关于gitlab-ci - 动态设置gitlab-ci cache.key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68528704/