gpt4 book ai didi

gitlab - 扩展和 anchor 标记之间有什么区别(<< : *anchor) in yaml (Gitlab CICD)?

转载 作者:行者123 更新时间:2023-12-03 07:58:57 27 4
gpt4 key购买 nike

何时使用扩展以及何时使用 anchor 标记?请引用下面的 CI CD 管道

  stages:
- stage1
.random-variables:
variables:
ABC: ${XYZ}

.hidden-job: &hidden-job
stage: stage1
image: docker:latest
services:
- docker:dind
script:
# My Scripts

hidden-job:dev:
extends:
- .random-variables
<<: *hidden-job
only:
- dev

提前感谢您澄清我的疑问。

到目前为止,我了解管道是如何工作的,就像 anchor 标记与 <<: *alias 一起使用来拉入当前 block 中的其他代码块一样。

相同的扩展用于拉入当前 block 中的变量

最佳答案

它们本质上是相同的,只是您可以使用 extends 字段使用另一个文件中的 yaml anchor 。例如:

include:
- 'https://example.com/some-file.yaml'

# this will work
my_job:
extends: .some-anchor-from-the-included-file

# this will fail
my_other_job:
<<: *some-anchor-from-the-included-file

您还可以使用 !reference 标签从其他文件中提取 yaml anchor 。

https://docs.gitlab.com/ee/ci/yaml/yaml_optimization.html#reference-tags

关于gitlab - 扩展和 anchor 标记之间有什么区别(<< : *anchor) in yaml (Gitlab CICD)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75005137/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com