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

如何仅运行特定阶段?独立阶段每周执行方法咨询

单独运行单个CI/CD阶段的实现方案

以下是两种可靠的实现思路,适用于主流CI/CD平台:

1. 给阶段添加触发规则过滤

在主CI配置文件中,为目标独立阶段和其他阶段分别设置触发条件,确保每周调度时仅执行该独立阶段:

  • 给常规阶段设置规则:仅在非每周调度(比如代码推送、手动触发)时运行
  • 给独立阶段设置规则:仅在每周调度时运行

示例(GitLab CI)

假设你的独立阶段名为weekly-cleanup,配置如下:

stages:
  - build
  - test
  - deploy
  - weekly-cleanup

# 常规阶段:排除每周调度场景
build:
  stage: build
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
  script:
    - npm run build

test:
  stage: test
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
  script:
    - npm run test

deploy:
  stage: deploy
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
  script:
    - ./deploy.sh

# 独立阶段:仅在每周调度时执行
weekly-cleanup:
  stage: weekly-cleanup
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: always
  script:
    - ./weekly-cleanup-script.sh
  # 配置每周触发时间(例:每周一凌晨1点)
  schedule:
    cron: '0 1 * * 1'
    timezone: 'Asia/Shanghai'

2. 拆分独立配置文件

把独立阶段的任务单独写在一个CI配置文件中,每周调度时仅触发这个独立文件,完全与主流程隔离:

  • 创建独立配置文件(比如.gitlab-ci-weekly.yml),只包含该阶段的任务
  • 在CI平台的调度设置中,指定使用这个独立配置文件运行任务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 13:10:42