You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI配置:标签自动触发+手动执行构建作业

正确配置方案

完整的GitLab CI配置如下:

stages:
  - tests
  - build_release
  - deploy
prepare-cache:
  stage: tests
  script:
    - "echo prepare some general stuff"
build_release_frontend:
  stage: build_release
  needs:
    - prepare-cache
  script:
    - "echo do a frontend build"
  artifacts:
    paths:
      - assets
    when: always
  rules:
    - if: $CI_COMMIT_TAG
      when: always
    - when: manual
deploy:
  stage: deploy
  when: manual
  needs:
    - build_release_frontend
  script:
    - "echo do a release"

配置说明

  1. 移除冲突配置:删除了build_release_frontend顶层的when: manual,避免与rules中的执行条件规则冲突——GitLab CI中同时使用顶层when和rules会导致规则解析混乱,进而生成重复作业或触发依赖错误。
  2. 规则逻辑明确:
    • 第一条规则:当存在CI_COMMIT_TAG(即创建标签时),作业自动执行(when: always),满足标签触发自动构建的需求。
    • 第二条规则:其他所有场景下,作业设为手动可触发(when: manual),确保始终可以手动启动构建。
  3. 依赖正常满足:prepare-cache未添加规则限制,会在所有流水线(分支、标签)中自动运行,因此build_release_frontend的needs依赖能够正常生效,不会出现"依赖作业不在前置阶段"的错误。

内容的提问来源于stack exchange,提问作者Tobias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:53:30