Vigezo katika Gitlab vinaweza kuwekwa katika maeneo kadhaa:
- Katika mipangilio ya kikundi
- Katika mipangilio ya mradi
- Ndani ya .gitlab-ci.yml
Katika kesi hii, vigezo katika mipangilio ya kikundi na mradi vinaweza kuwekwa kama "faili" au "tofauti ya mara kwa mara" na uangalie visanduku vya "kilindwa" na "mask".
Wacha tuanze na urithi rahisi na polepole itakuwa ngumu zaidi.
Orodha ya mwisho ya viwango vya kipaumbele inaweza kupatikana mwishoni mwa hati.
Urithi na vikundi [vyanzo]
Vigezo kutoka kwa vikundi vinarithiwa, na sheria kwamba karibu kikundi iko kwenye mradi, thamani yake ni muhimu zaidi.
Vikundi vilivyo na vigezo
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
Matokeo ya bomba
$ echo $MSG
B
Ikiwa utofauti haungebainishwa katika kundi B, basi tungeona thamani A.
Vigeu vya kurithi ndani ya .gitlab-ci.yml [vyanzo]
Kila kitu ni rahisi sana hapa: unaweza kuweka kutofautisha kimataifa, au unaweza kuifuta ndani ya kazi.
Vikundi vilivyo na vigezo
.gitlab-ci.yml
Hebu sasa tuunde kazi 2, katika mojawapo tutaonyesha $MSG kwa uwazi.
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
Matokeo ya bomba
- mwangwi:
$ echo $MSG Custom in global .gitlab-ci.yml Job succeeded
- echo na vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Urithi wa vikundi na ndani ya .gitlab-ci.yml [vyanzo]
Wacha tujaribu kuchanganya mifano 2 iliyopita. Vigezo vya kikundi huchukua kipaumbele juu ya vigeu vilivyo ndani ya .gitlab-ci.yml.
Vikundi vilivyo na vigezo
.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
Matokeo ya bomba
- mwangwi:
$ echo $MSG Y Job succeeded
- echo na vars:
$ echo $MSG Y Job succeeded
Urithi kwa kubainisha vigezo katika mipangilio ya mradi [vyanzo]
Vigezo katika mipangilio ya mradi DAIMA huwa na kipaumbele cha juu zaidi! Na vigeu vilivyobainishwa ndani ya .gitlab-ci.yml havina jukumu lolote.
Vikundi vilivyo na vigezo
Vigezo vya kikundi vina kipaumbele cha chini.
.gitlab-ci.yml
Wacha tutumie faili kutoka kwa mfano uliopita. Hapa tena kuna vigeu vilivyobainishwa ndani ya .gitlab-ci.yml, lakini vigeuzo ndani ya vikundi bado vinatanguliwa juu yao.
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
Matokeo ya bomba
- mwangwi:
$ echo $MSG project-3 Job succeeded
- echo na vars:
$ echo $MSG project-3 Job succeeded
Urithi wenye thamani tupu [vyanzo]
Thamani tupu pia ni thamani
Thamani tupu sio Null
Vikundi vilivyo na vigezo
.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
Matokeo ya bomba
- mwangwi:
$ echo $MSG Job succeeded
- echo na vars:
$ echo $MSG Job succeeded
Urithi na pamoja na vikundi [vyanzo]
Hapa tutajaribu kujumuisha mradi-2 katika mradi-3
Vikundi katika kesi hii vina kipaumbele.
Vikundi vilivyo na vigezo
.gitlab-ci.yml
Na uweke kigezo kimataifa katika .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'
Matokeo ya bomba
- mwangwi:
$ echo $MSG B Job succeeded
- echo na vars:
$ echo $MSG B Job succeeded
Urithi na ni pamoja na [vyanzo]
Hapa tutajaribu kujumuisha mradi-2 katika mradi-3.
Kwa sharti kwamba: hakuna vikundi au mradi wenyewe hauna vigeuzo vyovyote.
Vikundi vilivyo na vigezo
.gitlab-ci.yml
Sawa na katika mfano uliopita
variables:
MSG: "With include .gitlab-ci.yml"
include:
- project: how-is-gitlab-ci-inherit-environment-variables/z/y/project-3
file: '.gitlab-ci.yml'
Matokeo ya bomba
- mwangwi:
$ echo $MSG With include .gitlab-ci.yml Job succeeded
- echo na vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Matokeo ni kama ifuatavyo vipaumbele:
- Vigezo katika mipangilio ya mradi
- Vigezo katika vikundi
- Vigezo vilivyoainishwa madhubuti ndani ya kazi (pamoja na faili zilizojumuishwa)
- Vigeu vya kimataifa ndani ya .gitlab-ci.yml
- Vigeu vya kimataifa ndani ya faili zilizojumuishwa
Hitimisho
Jambo ambalo si dhahiri zaidi ni kwamba kanuni "kadiri kigezo kilivyo karibu na msimbo, ndivyo kilivyo muhimu zaidi" hufanya kazi kwanza kwa vikundi, na kisha kanuni sawa kwa vigeu vilivyo ndani ya .gitlab-ci.yml, lakini chini ya hali tu. kwamba vigezo katika vikundi havijabainishwa.
Ifuatayo, jambo muhimu ni kuelewa kwamba nafasi ya kimataifa kwa kuu na iliyojumuishwa .gitlab-ci.yml ni ya kawaida. Na faili ambayo kuingizwa hutokea ina kipaumbele.
Chanzo: mapenzi.com