Gitlabдагы өзгөрмөлөр бир нече жерде коюлушу мүмкүн:
- Топ жөндөөлөрүндө
- Долбоордун жөндөөлөрүндө
- .gitlab-ci.yml ичинде
Бул учурда, топтун жана долбоордун жөндөөлөрүндөгү өзгөрмөлөр "файл" же "кадимки өзгөрмө" катары коюлушу мүмкүн жана "корголгон" жана "маска" кутучаларын белгилеңиз.
Жөнөкөй мурастан баштайлы, ал бара-бара татаалдашат.
Артыкчылыктардын акыркы тизмесин документтин аягында тапса болот.
Топтор менен мурастоо [булактар]
Топтун өзгөрмөлөрү тукум куума болуп саналат, эрежеге ылайык, топ долбоорго канчалык жакын жайгашкан болсо, анын мааниси ошончолук маанилүү.
Өзгөрмөлөрү бар топтор
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
Түтүк натыйжасы
$ echo $MSG
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 with vars:
$ 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 with vars:
$ 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 with vars:
$ echo $MSG project-3 Job succeeded
Бош мааниге ээ болгон мурас [булактар]
Бош маани да баалуулук болуп саналат
Бош маани Null эмес
Өзгөрмөлөрү бар топтор
.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 with vars:
$ 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 with vars:
$ 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 with vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Жыйынтыктар төмөнкүдөй артыкчылыктар:
- Долбоордун жөндөөлөрүндөгү өзгөрмөлөр
- Топтордогу өзгөрмөлөр
- Жумуштардын ичинде так көрсөтүлгөн өзгөрмөлөр (анын ичинде камтылган файлдар)
- .gitlab-ci.yml ичиндеги глобалдык өзгөрмөлөр
- Камтылган файлдардын ичиндеги глобалдык өзгөрмөлөр
жыйынтыктоо
Эң айкын эмес нерсе, “өзгөрмө кодго канчалык жакын болсо, ошончолук маанилүү” эрежеси адегенде топтор үчүн иштейт, андан кийин .gitlab-ci.yml ичиндеги өзгөрмөлөр үчүн ошол эле эреже иштейт, бирок шартта гана топтордогу өзгөрмөлөр көрсөтүлгөн эмес.
Кийинки, маанилүү жагдай негизги жана киргизилген .gitlab-ci.yml үчүн глобалдык мейкиндик жалпы экенин түшүнүү болуп саналат. Жана кошулуу пайда болгон файл артыкчылыкка ээ.
Source: www.habr.com