GitLab多阶段作业无法共享.env文件问题排查求助
问题原因
data-main的needs仅指定了schema-main,但schema-main未将vault.env作为自身工件上传,导致data-main无法获取该文件。- GitLab CI/CD中使用
needs时,只有明确指定的依赖作业会传递工件,且依赖作业必须配置了对应工件才能完成传递。
解决方法
提供两种可行方案:
方案一:让data-main同时依赖vault和schema-main
调整data-main的needs配置,同时指定两个依赖项。这样既保证执行顺序(vault先执行,再到schema-main,最后data-main),又能直接从vault获取工件:
data-main: needs: [vault, schema-main] stage: clone-data allow_failure: true resource_group: clone script: - cat vault.env
方案二:让schema-main传递vault.env工件
在schema-main中添加工件配置,将vault.env上传,这样data-main依赖schema-main时就能拿到该文件:
schema-main: needs: [vault] stage: clone-data allow_failure: true resource_group: clone artifacts: paths: - vault.env script: - cat vault.env
内容的提问来源于stack exchange,提问作者Maksym Rybalkin
相关产品推荐
相关产品推荐

