Gitlab-CI පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

Gitlab හි විචල්‍ය ස්ථාන කිහිපයකින් සැකසිය හැක:

  1. කණ්ඩායම් සැකසුම් තුළ
  2. ව්යාපෘති සැකසුම් තුළ
  3. ඇතුළත .gitlab-ci.yml

මෙම අවස්ථාවෙහිදී, කණ්ඩායමේ සහ ව්‍යාපෘති සැකසුම් වල විචල්‍යයන් "ගොනුව" හෝ "සාමාන්‍ය විචල්‍ය" ලෙස සැකසිය හැකි අතර "ආරක්ෂිත" සහ "වෙස්" පිරික්සුම් කොටු පරීක්ෂා කරන්න.

Gitlab-CI පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

අපි සරල උරුමයෙන් පටන් ගනිමු, එය ක්රමයෙන් සංකීර්ණ වනු ඇත.

ප්‍රමුඛතා මට්ටම්වල අවසාන ලැයිස්තුව ලේඛනයේ අවසානයේ සොයාගත හැකිය.

කණ්ඩායම් සමඟ උරුමය [මූලාශ්‍ර]

කණ්ඩායම් වලින් විචල්‍යයන් උරුම වේ, කණ්ඩායම ව්‍යාපෘතියට සමීප වන තරමට එහි වටිනාකම වඩාත් වැදගත් වේ.

විචල්‍යයන් සහිත කණ්ඩායම්

Gitlab-CI පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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 පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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 පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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 පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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 පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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 පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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 පරිසර විචල්‍යයන් උරුම කරන්නේ කෙසේද?

.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

ප්රතිඵල පහත පරිදි වේ ප්රමුඛතා:

  1. ව්යාපෘති සැකසුම් වල විචල්යයන්
  2. කණ්ඩායම්වල විචල්යයන්
  3. රැකියා ඇතුළත දැඩිව දක්වා ඇති විචල්‍යයන් (ඇතුළත් කරන ලද ගොනු ඇතුළුව)
  4. .gitlab-ci.yml ඇතුළත ගෝලීය විචල්‍යයන්
  5. ඇතුළත් ගොනු තුළ ගෝලීය විචල්‍යයන්

නිගමනය

වඩාත්ම නොපැහැදිලි කරුණ නම්, "විචල්‍යයක් කේතයට සමීප වන තරමට, එය වඩාත් වැදගත් වේ" යන රීතිය පළමුව කණ්ඩායම් සඳහා ක්‍රියා කරයි, පසුව .gitlab-ci.yml තුළ ඇති විචල්‍ය සඳහා එකම රීතිය ක්‍රියා කරයි, නමුත් කොන්දේසිය යටතේ පමණි. කණ්ඩායම් වල විචල්යයන් නිශ්චිතව දක්වා නොමැති බව .
මීළඟට, වැදගත් කරුණක් වන්නේ ප්රධාන සහ ඇතුළත් .gitlab-ci.yml සඳහා ගෝලීය අවකාශය පොදු බව තේරුම් ගැනීමයි. ඇතුළත් කිරීම සිදු වන ගොනුවට ප්‍රමුඛතාවයක් ඇත.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න