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
- 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
- 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
- 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
- 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
- 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
- Vars бүхий цуурай:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Үр дүн нь дараах байдалтай байна тэргүүлэх чиглэл:
- Төслийн тохиргоон дахь хувьсагчид
- Бүлэг дэх хувьсагчид
- Ажлын дотор хатуу заасан хувьсагч (оруулах файлуудыг оруулаад)
- .gitlab-ci.yml доторх глобал хувьсагч
- Оруулсан файл доторх глобал хувьсагч
дүгнэлт
Хамгийн тодорхой бус зүйл бол "хувьсагч кодтой ойр байх тусмаа чухал" гэсэн дүрэм нь эхлээд бүлгүүдэд, дараа нь .gitlab-ci.yml доторх хувьсагчдад ижил дүрэм үйлчилнэ, гэхдээ зөвхөн нөхцөлийн дагуу. бүлгүүдийн хувьсагчид тодорхойлогдоогүй байна.
Дараа нь нэг чухал зүйл бол үндсэн болон багтсан .gitlab-ci.yml-ийн глобал орон зай нийтлэг гэдгийг ойлгох явдал юм. Мөн оруулах файл нь давуу эрхтэй.
Эх сурвалж: www.habr.com