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'
參考官方文檔:https://docs.gitlab.com/ee/ci/variables/#pass-an-environment-variable-to-another-job
artifacts 這種傳遞變量的方法還可用於多項目 pipeline、父子 pipeline 中,具體參考:https://docs.gitlab.com/14.7/ee/ci/pipelines/multi_project_pipelines.html#pass-cicd-variables-to-a-downstream-pipeline-by-using-variable-inheritance