使用 bash
运行程序,是否有任何原因导致以下变量扩展不起作用?
variables:
GIT_BRANCH: "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-${CI_COMMIT_BRANCH:-$CI_DEFAULT_BRANCH}}"
job1:
script:
- echo $GIT_BRANCH
作业输出。
我使用的是 GitLab 企业版 14.1.8-ee。
最佳答案
这些扩展是由 GitLab CI 而不是 bash 完成的,因此它们可能无法像 bash 那样稳健地处理嵌套扩展。
他们可能认为变量名就是下一个 之前的所有内容,所以
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-${CI_COMMIT_BRANCH:-$CI_DEFAULT_BRANCH
没有右大括号。这可以解释为什么尘埃落定后会有剩余的 }
。
关于bash - 为什么嵌套参数扩展在 GitLab CI/CD 中不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71038117/