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

GitLab CI不同流水线间无法共享变量及工件的问题求助

GitLab CI不同流水线间无法共享变量及工件的问题求助

各位好,我最近在GitLab CI的配置上卡壳了,试了N种不同的方法都没解决,实在没办法来求助大家。

先给大家看一下我的.gitlab-ci.yml配置片段:

cache:
  key: $CI_COMMIT_REF_SLUG

publish_image:
  stage: publish-image
  only: [ dev ]
  variables:
    IMAGE_TAG: $CI_COMMIT_SHORT_SHA
  script:
    - echo "IMAGE_TAG=$CI_COMMIT_SHORT_SHA" > $CI_PROJECT_DIR/data.txt
  artifacts:
    paths:
      - $CI_PROJECT_DIR/data.txt

retag_image_stg:
  stage: retag-image-stg
  only: [ stg ]
  script:
    - echo $IMAGE_TAG
    - ls -lah
    - pwd
    - cat $CI_PROJECT_DIR/data.txt
    - cat data.txt

我的核心问题是:dev分支流水线生成的cache、artifacts以及变量,完全没法在stg分支的独立流水线里访问到。

我也考虑过用GitLab API下载工件,但这个方法有个致命问题——API需要指定项目ID和作业ID才能下载,可这些ID每次流水线运行都会变化,我根本没法提前获取到dev分支流水线的这些ID值,所以这条路走不通。

目前我脑子里唯一能想到的替代方案,是专门建一个Git分支来存储需要共享的工件内容,之后在stg分支的流水线里拉取这个分支来获取数据,但总觉得这不是最优解,想问问大家有没有更合适的办法?

备注:内容来源于stack exchange,提问作者SunDayMan33

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 09:43:10