您好,我有一个预定的管道,在 Gitlab 的
main
分支上运行。我不想让它在标签上运行
我尝试添加:
rules:
- if: "$CI_COMMIT_TAG"
when: never
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TASK == "daily"'
但它似乎仍然在标签上运行。
知道如何跳过标签上的管道吗?
在
Build > Pipeline Schedules
中,您可以设置要执行的目标分支或标签。如果你想在两者上执行,你可以设置变量。例如,您可以创建 2 个计划管道(一个用于标记,一个用于主分支),然后为 Variables 部分中的每个管道分配具有不同值的变量名称。例如我们设置
主计划管道 -> 目标分支:main,变量:SCHEDULED_TARGET=main
标记计划管道 -> 目标分支:sometag,变量:SCHEDULED_TARGET=tag
以及在
.gitlab-ci.yml
中对于主分支的预定管道:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TASK == "daily" && $SCHEDULED_TARGET == "main"'
您可能对标签的预定管道有相同的:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TASK == "daily" && $SCHEDULED_TARGET == "sometag"'