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 တလင် variable ကိုမသတ်မဟတ်ထာသပါက 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 အတလင်သရဟိ အမလေဆက်ခံခဌင်သ။ [အရင်သအမဌစ်မျာသ]

ယခင်ဥပမာ ၂ ခုကို ပေါင်သစပ်ကဌည့်ရအောင်။ အုပ်စုကလဲလလဲချက်မျာသသည် .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 အတလက် ကမ္ဘာလုံသဆိုင်ရာ နေရာလလတ်သည် ဘုံဖဌစ်ကဌောင်သ နာသလည်ရန်ဖဌစ်သည်။ ပါဝင်မဟုဖဌစ်ပေါ်သည့်ဖိုင်သည် ညသစာသပေသဖဌစ်သည်။

source: www.habr.com

မဟတ်ချက် Add