Variabel dina Gitlab tiasa disetél dina sababaraha tempat:
- Dina setélan grup
- Dina setélan proyék
- Di jero .gitlab-ci.yml
Dina hal ieu, variabel dina grup sareng setélan proyék tiasa disetél salaku "file" atanapi "variabel biasa" sareng pariksa kotak centang "ditangtayungan" sareng "topeng".
Hayu urang mimitian ku warisan basajan tur laun bakal jadi leuwih kompleks.
Daptar ahir tingkat prioritas tiasa dipendakan di tungtung dokumen.
Warisan jeung grup [sumber]
Variabel ti grup diwariskeun, kalayan aturan yén leuwih deukeut grup lokasina ka proyék, anu leuwih penting nilaina.
Grup jeung variabel
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
Hasil pipa
$ echo $MSG
B
Lamun variabel teu acan dieusian dina grup B, urang bakal geus katempo nilai A.
Inheriting variabel jero .gitlab-ci.yml [sumber]
Sadayana cukup saderhana di dieu: anjeun tiasa nyetél variabel sacara global, atanapi anjeun tiasa nimpa di jero padamelan.
Grup jeung variabel
.gitlab-ci.yml
Hayu urang ayeuna nyiptakeun 2 padamelan, dina salah sahijina urang sacara eksplisit nunjukkeun $ 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
Hasil pipa
- gema:
$ echo $MSG Custom in global .gitlab-ci.yml Job succeeded
- echo kalawan vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Warisan jeung grup na jero .gitlab-ci.yml [sumber]
Hayu urang coba ngagabungkeun 2 conto saméméhna. variabel Grup nyokot precedence leuwih variabel jero .gitlab-ci.yml.
Grup jeung variabel
.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
Hasil pipa
- gema:
$ echo $MSG Y Job succeeded
- echo kalawan vars:
$ echo $MSG Y Job succeeded
Warisan sareng nangtukeun variabel dina setélan proyék [sumber]
Variabel dina setélan proyék SELALU ngagaduhan prioritas pangluhurna! Jeung variabel dieusian jero .gitlab-ci.yml teu maénkeun peran nanaon.
Grup jeung variabel
Variabel grup boga prioritas handap.
.gitlab-ci.yml
Hayu urang nganggo file tina conto sateuacana. Di dieu deui aya variabel dieusian di jero .gitlab-ci.yml, tapi variabel jero grup masih nyokot precedence leuwih aranjeunna.
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
Hasil pipa
- gema:
$ echo $MSG project-3 Job succeeded
- echo kalawan vars:
$ echo $MSG project-3 Job succeeded
Warisan kalawan nilai kosong [sumber]
Hiji nilai kosong oge nilai a
Hiji nilai kosong teu Null
Grup jeung variabel
.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
Hasil pipa
- gema:
$ echo $MSG Job succeeded
- echo kalawan vars:
$ echo $MSG Job succeeded
Warisan kalawan kaasup jeung grup [sumber]
Di dieu urang bakal nyobian ngalebetkeun proyék-2 dina proyék-3
Grup dina hal ieu boga prioritas.
Grup jeung variabel
.gitlab-ci.yml
Tur nyetel variabel global dina .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'
Hasil pipa
- gema:
$ echo $MSG B Job succeeded
- echo kalawan vars:
$ echo $MSG B Job succeeded
Warisan kalawan ngawengku [sumber]
Di dieu urang bakal nyobian ngalebetkeun proyék-2 dina proyék-3.
Kalayan kaayaan éta: boh grup atanapi proyék éta sorangan henteu ngagaduhan variabel.
Grup jeung variabel
.gitlab-ci.yml
Sarua jeung conto saméméhna
variables:
MSG: "With include .gitlab-ci.yml"
include:
- project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
file: '.gitlab-ci.yml'
Hasil pipa
- gema:
$ echo $MSG With include .gitlab-ci.yml Job succeeded
- echo kalawan vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Hasilna kieu prioritas:
- Variabel dina setélan proyék
- Variabel dina grup
- Variabel anu ditetepkeun sacara ketat di jero padamelan (kalebet file anu kalebet)
- Variabel global jero .gitlab-ci.yml
- Variabel global di jero kalebet file
kacindekan
Titik paling teu atra nyaéta yén aturan "nu ngadeukeutan variabel hiji kode, nu leuwih penting éta" jalan kahiji pikeun grup, lajeng aturan anu sarua pikeun variabel jero .gitlab-ci.yml, tapi ngan dina kaayaan yén variabel dina grup teu dieusian.
Salajengna, hiji titik penting pikeun ngarti yén spasi global pikeun utama jeung kaasup .gitlab-ci.yml geus ilahar. Jeung file nu citakan lumangsung boga prioritas.
sumber: www.habr.com