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

GitLab并行作业:如何在Job1完成后终止Job2?

GitLab CI/CD 并行作业终止需求:Job1完成后停止Job2

我在GitLab CI/CD的Test阶段配置了两个并行运行的作业Job1和Job2:Job1负责处理任务,Job2并行监控相关处理数据。我希望在Job1完成后立即停止Job2。

原本计划通过共享变量/文件实现:Job1完成后将状态更新为“completed”,Job2在执行自身任务的同时持续监控该共享数据,一旦检测到Job1的完成状态就退出。

目前遇到的挑战:

  • 无法使用needs,因为需要两个作业并行运行而非串行;
  • 尝试过artifacts、dotenv和全局变量,但这些仅在Job1完全运行结束后才会更新并传递给后续阶段/作业。

是否存在可行方法实现Job1完成后终止Job2?

编辑补充

我按照建议尝试使用项目变量,但Job2中的curl命令返回空值,相关配置代码如下:

Stages:
  - Test

Job1:
  stage: Test
  script:
    - echo "Inside Job1"
    - 'curl --request POST --header "PRIVATE-TOKEN: $MY_ACCESS_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/variables" --form "key=myvar" --form "value=someValue"'
  tags:
    - $RUNNER

Job2:
  stage: Test
  script:
    - echo "Inside Job2"
    - sleep 20s
    - 'curl --header "PRIVATE-TOKEN: $MY_ACCESS_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/variables/myvar"'
  tags:
    - $RUNNER

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:57:14