Тағирёбандаҳоро дар Gitlab дар чанд ҷой гузоштан мумкин аст:
- Дар танзимоти гурӯҳ
- Дар танзимоти лоиҳа
- Дар дохили .gitlab-ci.yml
Дар ин ҳолат, тағирёбандаҳоро дар танзимоти гурӯҳ ва лоиҳа метавон ҳамчун "файл" ё "тағйирёбандаи муқаррарӣ" таъин кард ва қуттиҳои "ҳифзшуда" ва "ниқоб" -ро тафтиш кунед.
Биёед аз мероси оддӣ оғоз кунем ва он тадриҷан мураккабтар мешавад.
Рӯйхати ниҳоии сатҳҳои афзалиятнокро дар охири ҳуҷҷат пайдо кардан мумкин аст.
Мерос бо гурӯҳҳо [манбаъҳо]
Таѓйирёбандањои гурўњњо ба мерос гирифта мешаванд, бо ќоида, ки гурўњ ба лоиња њар ќадар наздик бошад, арзиши он њамон ќадар муњимтар аст.
Гурӯҳҳо бо тағирёбандаҳо
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
Натиҷаи қубур
$ echo $MSG
B
Агар тағирёбанда дар гурӯҳи B нишон дода намешуд, он гоҳ мо арзиши А-ро медидем.
Ворисшавии тағирёбандаҳо дар дохили .gitlab-ci.yml [манбаъҳо]
Дар ин ҷо ҳама чиз хеле оддӣ аст: шумо метавонед тағирёбандаро дар саросари ҷаҳон муқаррар кунед ё шумо метавонед онро дар дохили кор баргардонед.
Гурӯҳҳо бо тағирёбандаҳо
.gitlab-ci.yml
Биёед ҳоло 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
Натиҷаи қубур
- акси садо:
$ echo $MSG Custom in global .gitlab-ci.yml Job succeeded
- акси садо бо варҳо:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Мерос бо гурӯҳҳо ва дохили .gitlab-ci.yml [манбаъҳо]
Биёед кӯшиш кунем, ки 2 мисоли қаблиро якҷоя кунем. Тағйирёбандаҳои гурӯҳӣ бар тағирёбандаҳои дохили .gitlab-ci.yml афзалият доранд.
Гурӯҳҳо бо тағирёбандаҳо
.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
Натиҷаи қубур
- акси садо:
$ echo $MSG Y Job succeeded
- акси садо бо варҳо:
$ echo $MSG Y Job succeeded
Мерос бо муайян кардани тағирёбандаҳо дар танзимоти лоиҳа [манбаъҳо]
Тағирёбандаҳо дар танзимоти лоиҳа ҲАМЕША афзалияти баландтарин доранд! Ва тағирёбандаҳои дар дохили .gitlab-ci.yml нишондодашуда ягон нақш намебозанд.
Гурӯҳҳо бо тағирёбандаҳо
Тағйирёбандаҳои гурӯҳӣ афзалияти камтар доранд.
.gitlab-ci.yml
Биёед файлро аз мисоли қаблӣ истифода барем. Дар ин ҷо боз тағирёбандаҳое ҳастанд, ки дар дохили .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
Натиҷаи қубур
- акси садо:
$ echo $MSG project-3 Job succeeded
- акси садо бо варҳо:
$ echo $MSG project-3 Job succeeded
Мерос бо арзиши холӣ [манбаъҳо]
Арзиши холӣ низ арзиш аст
Қимати холӣ нул нест
Гурӯҳҳо бо тағирёбандаҳо
.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
Натиҷаи қубур
- акси садо:
$ echo $MSG Job succeeded
- акси садо бо варҳо:
$ echo $MSG Job succeeded
Мерос бо дохил ва гурӯҳҳо [манбаъҳо]
Дар ин ҷо мо кӯшиш мекунем, ки лоиҳа-2-ро ба лоиҳа-3 дохил кунем
Дар ин ҳолат гурӯҳҳо афзалият доранд.
Гурӯҳҳо бо тағирёбандаҳо
.gitlab-ci.yml
Ва тағирёбандаро дар саросари ҷаҳон дар .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'
Натиҷаи қубур
- акси садо:
$ echo $MSG B Job succeeded
- акси садо бо варҳо:
$ echo $MSG B Job succeeded
Мерос бо дохил [манбаъҳо]
Дар ин ҷо мо кӯшиш мекунем, ки лоиҳа-2-ро ба лоиҳа-3 дохил кунем.
Бо шарте, ки: на гурӯҳҳо ва на худи лоиҳа ягон тағирёбанда надоранд.
Гурӯҳҳо бо тағирёбандаҳо
.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'
Натиҷаи қубур
- акси садо:
$ echo $MSG With include .gitlab-ci.yml Job succeeded
- акси садо бо варҳо:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Натичахо чунинанд афзалиятҳо:
- Тағирёбандаҳо дар танзимоти лоиҳа
- Тағирёбандаҳо дар гурӯҳҳо
- Тағирёбандаҳои ба таври қатъӣ дар дохили ҷойҳои корӣ муайяншуда (аз ҷумла файлҳои дохилшуда)
- Тағйирёбандаҳои глобалӣ дар дохили .gitlab-ci.yml
- Тағирёбандаҳои глобалӣ дар дохили файлҳои дохилшуда
хулоса
Нуктаи аз ҳама равшан ин аст, ки қоидаи "тағйирёбанда ба код наздиктар бошад, ҳамон қадар муҳимтар аст" аввал барои гурӯҳҳо кор мекунад ва сипас ҳамон қоида барои тағирёбандаҳои дохили .gitlab-ci.yml, аммо танҳо дар зери шарт ки тағирёбандаҳо дар гурӯҳҳо муайян карда нашудаанд.
Баъдан, як нуктаи муҳим фаҳмидани он аст, ки фазои глобалӣ барои .gitlab-ci.yml асосӣ ва дохилшуда маъмул аст. Ва файле, ки дар он дохилкунӣ рух медиҳад, афзалият дорад.
Манбаъ: will.com