如何在 gitlab ci/cd 中 pipeline job 之间传递变量

pipeline 中不同 job 默认是无法传递变量的,但是我们可以通过 artifacts 功能实现传递,具体看实例

推荐使用第一种

第一种用法

build:
  stage: build
  script:
    - echo "BUILD_VARIABLE=value_from_build_job" >> build.env
  artifacts:
    reports:
      dotenv: build.env # 把这个文件里的内容加载到环境变量里面

deploy:
  stage: deploy
  script:
    - env # 加载整个系统变量出来
    - echo "$BUILD_VARIABLE"  # Output is: 'value_from_build_job'

第二种用法

artifacts:
  name: "share.env"
  paths:
    - share.env  # 把这个文件添加到制品里

before_script:
  - source share.env # 读取上一步制品的信息
  - if [ -z "$CHANGE_MODULES" ]; then
    echo "微服务未发生变动,跳过部署";
    exit 0;
    fi
posted @ 2025-04-07 18:30  哈喽哈喽111111  阅读(120)  评论(0)    收藏  举报