如何手动触发 gitlab-ci 作业但仅在标记时触发?

How to trigger a gitlab-ci job manually but only when tagged?

我已经测试了 when: manual 并且它按预期工作。它创建了一个管道,其中包含我可以继续播放的作业。

但假设我只希望作业在创建标签时具有手动选项。否则,跳过此作业。

这似乎对我不起作用:

tag-triggered-manual-job:
  stage: publish
  only:
    variables:
      - $CI_COMMIT_TAG =~ /^product-build-.*/
  when: manual
  script:
    - script goes here

如果您使用 rules 重写作业,它应该会按预期工作:

tag-triggered-manual-job:
  stage: publish
  script:
    - script goes here
  rules:
    - if: '$CI_COMMIT_TAG =~ /^product-build-.*/'
      when: manual