Gitlab рдЪрд░ рдХреЛ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рд╕рдореВрд╣ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ
- рдЕрдВрджрд░ .itlab-ci.yml
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдореВрд╣реЛрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЪрд░ "рдлрд╝рд╛рдЗрд▓" рдпрд╛ "рд╕рд╛рдзрд╛рд░рдг рдЪрд░" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ "рд╕рдВрд░рдХреНрд╖рд┐рдд" рдФрд░ "рдореБрдЦреМрдЯрд╛" рдмрдХреНрд╕реЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
![](https://habrastorage.org/webt/iu/2f/d2/iu2fd2ums7tmrkyqb4hrbhuenzg.png)
рдЖрдЗрдП рд╕рд░рд▓ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реНрддрд░реЛрдВ рдХреА рдПрдХ рдЕрдВрддрд┐рдо рд╕реВрдЪреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
, , .
![рдЪрд░ рдХреЗ рд╕рд╛рде рд╕рдореВрд╣](https://habrastorage.org/webt/4b/wl/qj/4bwlqj-g_cztown5ks5znmiqgl8.png)
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
$ echo $MSG
B
B, .
.gitlab-ci.yml []
: , .
c
![](https://habrastorage.org/webt/ze/em/ih/zeemihn1rerz65eb_hgmejkx0iw.png)
2 , $MSG.
image: busybox:latest
variables:
GIT_STRATEGY: none
MSG: "Custom in global .gitlab-ci.yml"
echo:
stage: test
script:
- echo $MSG
echo with var:
stage: test
variables:
MSG: "Custom in job .gitlab-ci.yml"
script:
- echo $MSG
.gitlab-ci.yml []
2 . .gitlab-ci.yml.
c
![](https://habrastorage.org/webt/wv/ke/3o/wvke3o9zni565rug1kegmkorxha.png)
image: busybox:latest
variables:
GIT_STRATEGY: none
MSG: "Custom in global .gitlab-ci.yml"
echo:
stage: test
script:
- echo $MSG
echo with var:
stage: test
variables:
MSG: "Custom in job .gitlab-ci.yml"
script:
- echo $MSG
! , .gitlab-ci.yml .
c
.
![](https://habrastorage.org/webt/by/ni/zb/bynizbno7obalix_sxmgiz0dggm.png)
. , , .gitlab-ci.yml, .
image: busybox:latest
variables:
GIT_STRATEGY: none
MSG: "Custom in global .gitlab-ci.yml"
echo:
stage: test
script:
- echo $MSG
echo with var:
stage: test
variables:
MSG: "Custom in job .gitlab-ci.yml"
script:
- echo $MSG
тАУ
тАУ Null
c
![](https://habrastorage.org/webt/vs/mv/gq/vsmvgqrc4q9eh_zpevibj3tqa8u.png)
image: busybox:latest
variables:
GIT_STRATEGY: none
MSG: "Custom in global .gitlab-ci.yml"
echo:
stage: test
script:
- echo $MSG
echo with var:
stage: test
variables:
MSG: "Custom in job .gitlab-ci.yml"
script:
- echo $MSG
project-2 project-3
.
c
![](https://habrastorage.org/webt/lc/vg/19/lcvg19w1dkgdqlkennmeta1awcu.png)
.gitlab-ci.yml
variables:
MSG: "With include .gitlab-ci.yml"
include:
- project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
file: '.gitlab-ci.yml'
project-2 project-3.
C : , .
c
![](https://habrastorage.org/webt/mp/bv/e1/mpbve1krliedbl7j3wb3md2ecjk.png)
variables:
MSG: "With include .gitlab-ci.yml"
include:
- project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
file: '.gitlab-ci.yml'
:
- ( )
- .gitlab-ci.yml
рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рдпрдо "рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЪрд░ рдХреЗ рдЬрд┐рддрдирд╛ рдХрд░реАрдм рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг" рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЕрдВрджрд░ рдХреЗ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдирд┐рдпрдо рд╣реИред ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рди рдпрд╣ рд╕рдордЭ рд╣реИ рдХрд┐ рдХреЛрд░ рдФрд░ рдмрд╣рд┐рд╖реНрдХреГрдд .ITlab-ci.yml рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рди рдЖрдо рд╣реИред рдФрд░ рдЬрд┐рд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдорд╛рд╡реЗрд╢рди рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╣реИред