有没有办法只在管道第一次执行时才执行一次阶段
例如,如果我有这个阶段
我想执行 N 条管道,但下次不执行'tag_version',只需在第一次执行即可
答案 0 :(得分:1)
您可以使用rules: changes
,也可以结合使用when: manual
,以便仅在更改特定文件(例如Dockerfile)时才执行标记。
答案 1 :(得分:1)
我使用以下规则解决了问题:捕获推送事件并与我要标记的标记匹配。这样,我的阶段就执行一次
.mycondition: &mycondition
rules:
- if: '$CI_COMMIT_TAG =~ /^release-v\d+$/ && $CI_PIPELINE_SOURCE == "push"'
when: always