如何!reference在variables块中使用然后扩展条目列表?
例如,我希望能够做类似的事情
variables:
!reference [.common_variables, variables]
FOO: "bar"
Run Code Online (Sandbox Code Playgroud)
目前我在 GitLab linter 中遇到错误:
此 GitLab CI 配置无效:():在第 1 行第 1 列解析块映射时未找到预期的键
PS 请注意,这个问题专门针对!reference.
.common_variables其放入管道中包含的单独文件中。extends:机制超出了这个问题的范围。它确实有效,但它有一个奇怪的行为,即人们还在extends环境中获取变量,请参阅GitLab:在“变量”中使用“扩展”variables: !reference [.common_variables, variables]
Run Code Online (Sandbox Code Playgroud)
是正确的引用方式,但是 gitlab yml 结构不支持 !reference 关键字之后的附加定义。
我的建议是在变量文件中有一个更具体的定义,使用锚点来共享公共变量。
例如:
在“variables.gitlab-ci.yml”中:
.common_variables: &common_variables
COMMON_VAR: value
.variables:Example-job
variables:
<<: *common_variables
FOO: "bar"
Run Code Online (Sandbox Code Playgroud)
在“.gitlab.ci.yml”中:
Example-job:
variables: !reference [".variables:Example-job", "variables"]
script:
...
Run Code Online (Sandbox Code Playgroud)
小智 -3
variables:
!reference [.common_variables, variables]
FOO: "bar"
Run Code Online (Sandbox Code Playgroud)
或者如果你想将变量分配给一个新变量,你可以使用这个
variables:
MY_VAR: !reference [.common_variables, variables]
Run Code Online (Sandbox Code Playgroud)
有关更多信息 - https://docs.gitlab.com/ee/ci/yaml/yaml_optimization.html#reference-tags
| 归档时间: |
|
| 查看次数: |
4747 次 |
| 最近记录: |