Gitlab හි විචල්ය ස්ථාන කිහිපයකින් සැකසිය හැක:
- කණ්ඩායම් සැකසුම් තුළ
- ව්යාපෘති සැකසුම් තුළ
- ඇතුළත .gitlab-ci.yml
මෙම අවස්ථාවෙහිදී, කණ්ඩායමේ සහ ව්යාපෘති සැකසුම් වල විචල්යයන් "ගොනුව" හෝ "සාමාන්ය විචල්ය" ලෙස සැකසිය හැකි අතර "ආරක්ෂිත" සහ "වෙස්" පිරික්සුම් කොටු පරීක්ෂා කරන්න.
අපි සරල උරුමයෙන් පටන් ගනිමු, එය ක්රමයෙන් සංකීර්ණ වනු ඇත.
ප්රමුඛතා මට්ටම්වල අවසාන ලැයිස්තුව ලේඛනයේ අවසානයේ සොයාගත හැකිය.
කණ්ඩායම් සමඟ උරුමය [මූලාශ්ර]
කණ්ඩායම් වලින් විචල්යයන් උරුම වේ, කණ්ඩායම ව්යාපෘතියට සමීප වන තරමට එහි වටිනාකම වඩාත් වැදගත් වේ.
විචල්යයන් සහිත කණ්ඩායම්
.gitlab-ci.yml
image: busybox:latest
variables:
GIT_STRATEGY: none
echo:
stage: test
script:
- echo $MSG
නල මාර්ගයේ ප්රතිඵලය
$ echo $MSG
B
B කාණ්ඩයේ විචල්යය නිශ්චිතව දක්වා නොමැති නම්, අපි A අගය දකිනු ඇත.
.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
ඇතුළත් සහ කණ්ඩායම් සමඟ උරුමය [මූලාශ්ර]
මෙහිදී අපි Project-2 හි project-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
ඇතුළු සමග උරුමය [මූලාශ්ර]
මෙහිදී අපි Project-2 හි project-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