gpt4 book ai didi

gitlab - 如何在 Gitlab CI 中重用共享 yml 文件中的 before_script?

转载 作者:行者123 更新时间:2023-12-03 21:55:14 26 4
gpt4 key购买 nike

我知道您可以使用 yaml anchor 在 before 脚本中重用代码块:

.something_before: &something_before
- echo 'something before'


before_script:
- *something_before
- echo "Another script step"

但是当 .something_before 在共享 .yml 中声明时,这似乎不起作用通过 include:file 提交文件. extends 似乎也没有为 before_script 工作.有谁知道在 before_script 中重用某些步骤的方法?来自共享 .yml文件?

编辑:我的用例是我有 2 个 gitlab 项目,它们的 before_script 步骤几乎相同。我不想在有更改时更改两个项目,所以我有第三个独立的 Gitlab 项目,它有一个 .yml 模板,我通过 include:file 在两个项目中包含该模板。我想将所有通用代码放在该共享模板中,并且对于具有两个额外步骤的 git 项目只有两行 before_script。

最佳答案

Yaml anchor 不适用于包含的文件。您需要使用 extends关键词。但是您想要达到的目标不适用于 before_script因为如果存在 before_script,则模板中的代码将在使用模板的作业中被覆盖也是。

您是否真的需要在您的特定工作中使用 before_script 或者您可以通过正常的 script 来实现相同的效果吗? ?如果是,您可以执行以下操作:

模板文件:

.something_before:
before_script:
- echo 'something before'
- echo 'something more before'

项目管线:
include:
- project: 'my-group/my-project'
file: '/something_before.yml'

stages:
- something

something:
stage: something
extends: .something_before
script:
- echo 'additional stuff to do'

还有你的 before_script部分将被合并到 something 作业中并在 script 之前执行部分。

关于gitlab - 如何在 Gitlab CI 中重用共享 yml 文件中的 before_script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61875759/

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