Continuous integration Gitlab CI/CD只需部署一次阶段

Continuous integration Gitlab CI/CD只需部署一次阶段,continuous-integration,gitlab,gitlab-ci,Continuous Integration,Gitlab,Gitlab Ci,是否有一种方法可以只执行一次阶段,仅在管道第一次执行时执行 例如,如果我有这个阶段 建造 tag_版本 试验 部署 我想执行N管道,但下一次不执行“tag\u version”,只需在第一次执行它即可您可以使用规则:更改,也可以与时:手动结合使用,这样标记只在特定文件更改时执行(比如Dockerfile) 参见您可以使用规则:更改,可以在:手动时与结合使用,以便仅在特定文件(例如Dockerfile)更改时执行标记 请参见我使用以下规则求解,捕获推送事件并与我要标记的标记匹配。这样,我的阶段

是否有一种方法可以只执行一次阶段,仅在管道第一次执行时执行

例如,如果我有这个阶段

  • 建造
  • tag_版本
  • 试验
  • 部署

我想执行N管道,但下一次不执行“tag\u version”,只需在第一次执行它即可您可以使用
规则:更改
,也可以与
时:手动
结合使用,这样标记只在特定文件更改时执行(比如Dockerfile)


参见

您可以使用
规则:更改
,可以在:手动时与
结合使用,以便仅在特定文件(例如Dockerfile)更改时执行标记


请参见

我使用以下规则求解,捕获推送事件并与我要标记的标记匹配。这样,我的阶段只执行一次

.mycondition: &mycondition
  rules:
    - if: '$CI_COMMIT_TAG =~ /^release-v\d+$/ && $CI_PIPELINE_SOURCE == "push"'
      when: always

我使用以下规则解决了这个问题,捕捉推送事件并与我想要标记的标记匹配。这样,我的阶段只执行一次

.mycondition: &mycondition
  rules:
    - if: '$CI_COMMIT_TAG =~ /^release-v\d+$/ && $CI_PIPELINE_SOURCE == "push"'
      when: always