我必须将 .gitlab-ci.yml 上的语法从
only
语法更新为 rules
。我做了大部分更改,但我找不到有关以下语法的信息:
deploy-image:
stage: deploy
only:
- stage@helloTeam/Expansion
helloTeam/Expansion
是我们存储库的名称,但我不知道 stage@
的用途。以及如何用规则来转换它。有什么想法吗?
这记录在仅/除了示例以进行作业控制。
符号表示引用存储库路径的开头@
及其用法的一个示例:
仅针对父存储库执行作业而不执行分支:
job:
only:
- branches@gitlab-org/gitlab
except:
- main@gitlab-org/gitlab
- /^release/.*$/@gitlab-org/gitlab
因此,
foo@bar/baz
中的only:
表示foo
是引用(分支名称或特殊关键字),而bar/baz
是存储库路径。
以下
rules:
可以用作与此等效的使用 预定义变量 CI_COMMIT_REF_NAME
和 CI_PROJECT_PATH
:
rules:
- if: $CI_PROJECT_PATH == "bar/baz" && $CI_COMMIT_REF_NAME == "foo"