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
相关产品推荐
相关产品推荐

