CI/CD Pass env to other job

https://docs.gitlab.com/ee/ci/variables/index.html#pass-an-environment-variable-to-another-job

ํŠน๋ณ„ํžˆ ๊ฐ’์„ ๋งŒ๋“ค์–ด์„œ ๋‹ค๋ฅธ ์ž‘์—…์œผ๋กœ ๋„˜๊ฒจ์ค˜์•ผํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

๋‹ค์Œ์ฒ˜๋Ÿผ ํ•˜๋ฉด๋œ๋‹ค.

build:
  stage: build
  script:
    - echo "BUILD_VARIABLE=value_from_build_job" >> build.env
  artifacts:
    reports:
      dotenv: build.env

deploy:
  stage: deploy
  variables:
    BUILD_VARIABLE: value_from_deploy_job
  script:
    - echo "$BUILD_VARIABLE" # Output is: 'value_from_build_job' due to precedence

echo "BUILD_VARIABLE=value_from_build_job" ์ด๋Ÿฐ์‹์œผ๋กœ KEY=value๋ฅผ ๋งŒ๋“ค์–ด์„œ echo๋กœ ์ถœ๋ ฅํ›„ envํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  artifacts:reports:dotenv ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

์ด์ œ ๋‹ค๋ฅธ ์ž‘์—…์—์„œ $KEY ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ฝ์–ด์˜จ๋‹ค.

๋™์ž‘ ๋ฐฉ์‹์€ ๊นƒ๋žฉ ๋Ÿฌ๋„ˆ๊ฐ€ envํŒŒ์ผ์„ ์ฝ์–ด์„œ ๋กœ๋”ฉ์„ ๋ฏธ๋ฆฌ ํ•ด๋‘๊ณ  ์šฐ๋ฆฌ๋Š” $KEY๋กœ ์‚ฌ์šฉ๋งŒ ํ•˜๋ฉด๋œ๋‹ค.

ํ˜น์‹œ ๊ฐ’์ด ์•ˆ๋„˜์–ด์˜ค๋ฉด ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด๋ณด์ž. dependency๋‚˜ need๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด๋œ๋‹ค.

deploy_two๋Š” empty์ธ๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฑด dependency๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Last updated

Was this helpful?