Variabel ing Gitlab bisa disetel ing sawetara panggonan:
- Ing setelan grup
- Ing setelan proyek
- Nang .gitlab-ci.yml
Ing kasus iki, variabel ing grup lan setelan proyek bisa disetel minangka "file" utawa "variabel reguler" lan mriksa kothak centhang "dilindungi" lan "topeng".
Ayo diwiwiti kanthi warisan sing sederhana lan bakal dadi luwih rumit.
Dhaptar pungkasan tingkat prioritas bisa ditemokake ing mburi dokumen.
Warisan karo kelompok [sumber]
Variabel saka klompok diwarisake, kanthi aturan yen luwih cedhak klompok kasebut dumunung ing proyek kasebut, luwih penting nilai kasebut.
Klompok kanthi variabel
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
Hasil pipa
$ echo $MSG
B
Yen variabel durung ditemtokake ing grup B, mula kita bakal weruh nilai A.
Warisan variabel nang .gitlab-ci.yml [sumber]
Kabeh iku cukup prasaja ing kene: sampeyan bisa nyetel variabel global, utawa sampeyan bisa nimpa ing proyek.
Klompok kanthi variabel
.gitlab-ci.yml
Saiki ayo nggawe 2 proyek, ing salah sijine kita bakal nuduhake $ MSG kanthi jelas.
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
- kumandhang:
$ echo $MSG Custom in global .gitlab-ci.yml Job succeeded
- echo karo vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Warisan karo kelompok lan nang .gitlab-ci.yml [sumber]
Coba gabungke 2 conto sadurunge. Variabel grup diutamakake tinimbang variabel nang .gitlab-ci.yml.
Klompok kanthi 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
- kumandhang:
$ echo $MSG Y Job succeeded
- echo karo vars:
$ echo $MSG Y Job succeeded
Warisan kanthi nemtokake variabel ing setelan proyek [sumber]
Variabel ing setelan proyek tansah duwe prioritas paling dhuwur! Lan variabel kasebut nang .gitlab-ci.yml ora muter peran sembarang.
Klompok kanthi variabel
Variabel klompok nduweni prioritas sing luwih murah.
.gitlab-ci.yml
Ayo nggunakake file saka conto sadurunge. Ing kene maneh ana variabel sing ditemtokake ing .gitlab-ci.yml, nanging variabel ing grup isih diutamakake.
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
- kumandhang:
$ echo $MSG project-3 Job succeeded
- echo karo vars:
$ echo $MSG project-3 Job succeeded
Warisan kanthi nilai kosong [sumber]
Nilai kosong uga minangka nilai
Nilai kosong ora Null
Klompok kanthi 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
- kumandhang:
$ echo $MSG Job succeeded
- echo karo vars:
$ echo $MSG Job succeeded
Warisan karo kalebu lan kelompok [sumber]
Ing kene kita bakal nyoba nyakup proyek-2 ing proyek-3
Klompok ing kasus iki duwe prioritas.
Klompok kanthi variabel
.gitlab-ci.yml
Lan nyetel variabel global ing .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
- kumandhang:
$ echo $MSG B Job succeeded
- echo karo vars:
$ echo $MSG B Job succeeded
Warisan karo kalebu [sumber]
Ing kene kita bakal nyoba nyakup proyek-2 ing proyek-3.
Kanthi syarat: klompok utawa proyek kasebut ora duwe variabel.
Klompok kanthi variabel
.gitlab-ci.yml
Padha ing conto sadurunge
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
- kumandhang:
$ echo $MSG With include .gitlab-ci.yml Job succeeded
- echo karo vars:
$ echo $MSG Custom in job .gitlab-ci.yml Job succeeded
Asile kaya ing ngisor iki prioritas:
- Variabel ing setelan proyek
- Variabel ing kelompok
- Variabel ditemtokake kanthi ketat ing proyek (kalebu file sing kalebu)
- Variabel global nang .gitlab-ci.yml
- Variabel global ing njero kalebu file
kesimpulan
Titik sing paling ora jelas yaiku aturan "sing luwih cedhak karo variabel kanggo kode, sing luwih penting" dianggo pisanan kanggo grup, banjur aturan sing padha kanggo variabel ing njero .gitlab-ci.yml, nanging mung ing kondisi yen variabel ing grup ora ditemtokake.
Sabanjure, titik penting kanggo mangerteni yen spasi global kanggo utama lan klebu .gitlab-ci.yml iku umum. Lan file sing kalebu kalebu prioritas.
Source: www.habr.com