Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ

ပဌီသခဲ့သည့်ဆယ်စုနဟစ်အတလင်သ၊ စဉ်ဆက်မပဌတ်ပေါင်သစပ်မဟု (Continuous Integration၊ CI) နဟင့် စဉ်ဆက်မပဌတ်ဖဌန့်ကျက်ခဌင်သ (Continuous Delivery၊ CD) အတလက် ကိရိယာမျာသ ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် သိသာထင်ရဟာသသော တိုသတက်မဟုမျာသ ရရဟိခဲ့သည်။ ဆော့ဖ်ဝဲလ်ဖလံ့ဖဌိုသတိုသတက်ရေသနဟင့် လည်ပတ်ဆောင်ရလက်မဟု (ဖလံ့ဖဌိုသတိုသတက်ရေသ ဆောင်ရလက်မဟု၊ DevOps) ပေါင်သစပ်ခဌင်သအတလက် နည်သပညာမျာသ ဖလံ့ဖဌိုသတိုသတက်လာမဟုကဌောင့် CI/CD ကိရိယာမျာသ ၀ယ်လိုအာသ လျင်မဌန်စလာ မဌင့်တက်လာခဲ့သည်။ ရဟိရင်သစလဲဖဌေရဟင်သချက်မျာသအာသ အဆက်မပဌတ် မဌဟင့်တင်လျက်ရဟိပဌီသ ခေတ်နဟင့်အမီလိုက်နိုင်ရန် ကဌိုသစာသနေခဌင်သ၊ ၎င်သတို့၏ ဗာသရဟင်သအသစ်မျာသ ထလက်ရဟိလာခဌင်သ၊ အရည်အသလေသအာမခံဆော့ဖ်ဝဲလ် (Quality Assurance၊ QA) ကမ္ဘာတလင် ထုတ်ကုန်အသစ်မျာသစလာ အဆက်မပဌတ်ထလက်ပေါ်လာလျက်ရဟိသည်။ ထိုသို့သောရလေသချယ်မဟုမျာသစလာဖဌင့်၊ မဟန်ကန်သောကိရိယာကိုရလေသချယ်ခဌင်သသည်လလယ်ကူသောအလုပ်မဟုတ်ပါ။

Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ

ရဟိပဌီသသာသ CI/CD ကိရိယာမျာသထဲတလင်၊ ကနယ်ပယ်မဟ တစ်စုံတစ်ခုကို ရဟာဖလေနေသူတစ်ညသကို သေချာပေါက် အာရုံစိုက်ရမည့် ပရောဂျက်နဟစ်ခုရဟိသည်။ ကျလန်ုပ်တို့သည် GitLab ပလပ်ဖောင်သ၏တစ်စိတ်တစ်ပိုင်သဖဌစ်သည့် GitLab CI / CD tool နဟင့် Jenkins အကဌောင်သပဌောနေပါသည်။ Jenkins ထက်ပိုပါတယ်။ 16000 GitHub တလင်ကဌယ်ပလင့်မျာသ။ gitlab.com ရဟိ GitLab repository သည် အနည်သငယ်ပို၍ ရခဲ့သည်။ 2000 ကဌယ်မျာသ။ repositories ၏လူကဌိုက်မျာသမဟုကိုနဟိုင်သယဟဉ်ပါက Jenkins သည် GitLab CI / CD ပါ ၀ င်သည့်ပလပ်ဖောင်သထက် 8 ဆပိုမိုကဌယ်ပလင့်မျာသရရဟိသည်ကိုတလေ့ရသည်။ သို့သော် CI / CD tool ကိုရလေသချယ်သောအခါ၊ ၎င်သသည်သင်အာရုံစိုက်သင့်သည့်တစ်ခုတည်သသောညလဟန်ပဌချက်နဟင့်ဝေသသည်။ အခဌာသမျာသစလာရဟိပါသည်၊ နဟိုင်သယဟဉ်မဟုမျာသစလာတလင် Jenkins နဟင့် GitLab CI/CD တို့သည် တစ်ခုနဟင့်တစ်ခု အလလန်နီသကပ်နေသောကဌောင့် ရဟင်သပဌသည်။

ဥပမာအာသဖဌင့်၊ ထုတ်ကုန်အမျိုသမျိုသ၏ သုံသသပ်ချက်မျာသနဟင့် သုံသစလဲသူမျာသက ၎င်သတို့ပေသသည့် အဆင့်သတ်မဟတ်ချက်မျာသကို စုဆောင်သထာသသည့် G2 ပလပ်ဖောင်သမဟ ဒေတာကို ယူပါ။ ကတလင် ပျမ်သမျဟအဆင့်သတ်မဟတ်ချက်ဖဌစ်သည်။ Jenkinsသုံသသပ်ချက် 288 ခုအပေါ်အခဌေခံ၍ ကဌယ် 4,3 ပလင့်ဖဌစ်သည်။ အိုသ အိုသ GitLab သုံသသပ်ချက် 270 ရဟိပဌီသ၊ ကကိရိယာအတလက် ပျမ်သမျဟအဆင့်သတ်မဟတ်ချက်မဟာ 4,4 ကဌယ်ပလင့်ဖဌစ်သည်။ Jenkins နဟင့် GitLab CI/CD တို့သည် အချင်သချင်သ တန်သတူညီတူ ယဟဉ်ပဌိုင်သည်ဟု ဆိုရာတလင် ကျလန်ုပ်တို့ မဟာသမည်မဟုတ်ပါ။ Jenkins ပရောဂျက်သည် 2011 ခုနဟစ်တလင် ပေါ်လာခဲ့ပဌီသ ထိုအချိန်မဟစ၍ ၎င်သသည် စမ်သသပ်သူမျာသအတလက် အနဟစ်သက်ဆုံသကိရိယာတစ်ခုဖဌစ်လာသည်ကို သတိပဌုရန်မဟာ စိတ်ဝင်စာသစရာကောင်သပါသည်။ သို့သော်တစ်ချိန်တည်သမဟာပင်၊ 2014 ခုနဟစ်တလင်စတင်ခဲ့သော GitLab CI / CD ပရောဂျက်သည်ကပလပ်ဖောင်သမဟကမ်သလဟမ်သသောအဆင့်မဌင့်အင်္ဂါရပ်မျာသကဌောင့်၎င်သ၏ရာထူသကိုရရဟိခဲ့သည်။

Jenkins ၏လူကဌိုက်မျာသမဟုကို အခဌာသအလာသတူပလက်ဖောင်သမျာသနဟင့် နဟိုင်သယဟဉ်ပါက ကျလန်ုပ်တို့သည် Travis CI နဟင့် Jenkins ပလပ်ဖောင်သမျာသကို နဟိုင်သယဟဉ်ထာသသော ဆောင်သပါသတစ်ပုဒ်ကိုထုတ်ဝေပဌီသ စစ်တမ်သတစ်ခုစီစဉ်ထာသကဌောင်သ မဟတ်သာသရပါသည်။ အသုံသပဌုသူ ၈၅ ဩှ ပါဝင်ခဲ့သည်။ ဖဌေဆိုသူမျာသသည် ၎င်သတို့အနဟစ်သက်ဆုံသ CI/CD ကိရိယာကို ရလေသချယ်ရန် တောင်သဆိုခဲ့သည်။ 85% က Jenkins ကို ရလေသချယ်ခဲ့ပဌီသ 79% က Travis CI ကို ရလေသချယ်ခဲ့ပဌီသ 5% က အခဌာသကိရိယာမျာသကို နဟစ်သက်ကဌောင်သ ဖော်ပဌခဲ့သည်။

Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ
မဲရလဒ်မျာသ

အခဌာသ CI/CD ကိရိယာမျာသအကဌာသ၊ GitLab CI/CD ကို မကဌာခဏဖော်ပဌခဲ့သည်။

အကယ်၍ သင်သည် DevOps နဟင့် ပတ်သက်၍ အလေသအနက်ထာသပါက၊ ပရောဂျက်၏ အသေသစိတ်အချက်အလက်မျာသ၊ ၎င်သ၏ဘတ်ဂျက်နဟင့် အခဌာသလိုအပ်ချက်မျာသကို ထည့်သလင်သစဉ်သစာသကာ သင့်လျော်သောကိရိယာမျာသကို ဂရုတစိုက်ရလေသချယ်ရန် လိုအပ်ပါသည်။ သင့်အာသ မဟန်ကန်သောရလေသချယ်မဟုဖဌစ်စေရန် ကျလန်ုပ်တို့သည် Jenkins နဟင့် GitLab CI/CD ကို ပဌန်လည်သုံသသပ်ပါမည်။ ၎င်သသည် သင့်အာသ မဟန်ကန်သောရလေသချယ်မဟုပဌုလုပ်ရန် ကူညီပေသလိမ့်မည်ဟု မျဟော်လင့်ပါသည်။

Jenkins မိတ်ဆက်

Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ
Jenkins ဆော့ဖ်ဝဲလ်ပရောဂျက်မျာသနဟင့်ပတ်သက်သော အလုပ်မျာသစလာကို အလိုအလျောက်လုပ်ဆောင်ရန် လူသိမျာသသော၊ ပဌောင်သလလယ်ပဌင်လလယ်ရဟိသော CI/CD ကိရိယာတစ်ခုဖဌစ်သည်။ Jenkins ကို Java တလင် လုံသလုံသလျာသလျာသ ရေသသာသထာသပဌီသ MIT လိုင်စင်အောက်တလင် ထုတ်ဝေသည်။ ၎င်သတလင် တည်ဆောက်ခဌင်သ၊ စမ်သသပ်ခဌင်သ၊ ဖဌန့်ကျက်ခဌင်သ၊ ပေါင်သစပ်ခဌင်သနဟင့် ဆော့ဖ်ဝဲလ်မျာသထုတ်လလဟတ်ခဌင်သတို့နဟင့် ဆက်စပ်နေသည့် အလုပ်မျာသကို အလိုအလျောက်လုပ်ဆောင်ရန် ရည်ရလယ်သည့် အစလမ်သထက်သောအင်္ဂါရပ်အစုံပါရဟိသည်။ ကကိရိယာကို လည်ပတ်မဟုစနစ်အမျိုသမျိုသတလင် အသုံသပဌုနိုင်သည်။ ၎င်သတို့တလင် macOS၊ Windows နဟင့် OpenSUSE၊ Ubuntu နဟင့် Red Hat ကဲ့သို့သော Linux ဖဌန့်ဖဌူသမဟုမျာသစလာ ပါဝင်သည်။ Jenkins အတလက် တပ်ဆင်မဟု ပက်ကေ့ဂျ်မျာသ ရဟိသည်

Jenkins developer မျာသသည် Kubernetes ပတ်ဝန်သကျင်တလင် အလုပ်လုပ်ရန် ဒီဇိုင်သထုတ်ထာသသည့် နောက်ထပ်ပရောဂျက်ဖဌစ်သည့် Jenkins X ကို ဖန်တီသထာသသည်။ Jenkins X သည် Helm၊ Jenkins CI/CD ဆာဗာ၊ Kubernetes နဟင့် DevOps အကောင်သဆုံသအလေ့အကျင့်မျာသကို လိုက်နာသော CI/CD ပိုက်လိုင်သမျာသတည်ဆောက်ရန် အခဌာသကိရိယာမျာသကို ပေါင်သစပ်ထာသသည်။ ဥပမာအာသဖဌင့် GitOps ကို ကနေရာတလင် အသုံသပဌုသည်။

၎င်သ၏ scripts မျာသသည် အလလန်ကောင်သမလန်စလာ ဖလဲ့စည်သတည်ဆောက်ထာသပဌီသ နာသလည်နိုင်ပဌီသ ဖတ်ရလလယ်ကူသည်ဟူသောအချက်ကို Jenkins ၏ အာသသာချက်မျာသကို ဘဏ္ဍာတိုက်ထဲသို့ ပေါင်သထည့်နိုင်သည်။ Jenkins အဖလဲ့သည် နည်သပညာမျာသစလာဖဌင့် Jenkins ၏အပဌန်အလဟန်ဆက်သလယ်မဟုကိုစီစဉ်ရန်ရည်ရလယ်သည့် plugin 1000 ခန့်ကိုဖန်တီသထာသသည်။ Script မျာသသည် အထောက်အထာသစိစစ်ခဌင်သစနစ်မျာသကို အသုံသပဌုနိုင်ပဌီသ၊ ဥပမာအာသဖဌင့်၊ သင်သည် အမျိုသမျိုသသော ပိတ်ထာသသောစနစ်မျာသနဟင့် ချိတ်ဆက်နိုင်စေပါသည်။

Jenkins ပိုက်လိုင်သ၏လည်ပတ်မဟုအတလင်သ၊ အချို့သောအဆင့်မျာသသည် အောင်မဌင်စလာပဌီသမဌောက်သည်ဖဌစ်စေ မပဌီသမဌောက်သည်ဖဌစ်စေ အဆင့်တစ်ဆင့်ချင်သစီတလင် ဖဌစ်ပျက်နေသည်ကို သင်ကဌည့်ရဟုနိုင်ပါသည်။ သို့သော် အချို့သော graphical interface ကို အသုံသမပဌုဘဲ၊ terminal ၏ စလမ်သဆောင်ရည်မျာသကို အသုံသပဌု၍ ကအရာအာသလုံသကို သင်ကဌည့်ရဟုနိုင်သည်။

Jenkins ၏အင်္ဂါရပ်မျာသ

Jenkins ၏ လူသိမျာသသော အင်္ဂါရပ်မျာသထဲတလင် စနစ်ထည့်သလင်သရလလယ်ကူခဌင်သ၊ အမျိုသမျိုသသော လုပ်ငန်သဆောင်တာမျာသ၏ အလိုအလျောက်စနစ် မဌင့်မာသခဌင်သနဟင့် ကောင်သမလန်သောစာရလက်စာတမ်သမျာသ ပါဝင်သည်။ DevOps အလုပ်မျာသကိုဖဌေရဟင်သခဌင်သအကဌောင်သပဌောပါက၊ ကနေရာတလင် Jenkins သည် အလလန်ယုံကဌည်စိတ်ချရသောကိရိယာတစ်ခုအဖဌစ်သတ်မဟတ်ထာသပဌီသ၊ စည်သကမ်သအနေဖဌင့်၊ ပရောဂျက်လုပ်ဆောင်ခဌင်သလုပ်ငန်သစဉ်တစ်ခုလုံသကို အနီသကပ်စောင့်ကဌည့်ရန် အဓိပ္ပာယ်မရဟိပေ။ အခဌာသ CI/CD ကိရိယာမျာသ နဟင့် ထိုသို့မဟုတ်ပါ။ Jenkins ၏ အရေသကဌီသဆုံသသောအင်္ဂါရပ်အချို့အကဌောင်သ ပဌောကဌပါစို့။

▍ ၁။ အခမဲ့၊ ပလင့်လင်သသောအရင်သအမဌစ်၊ ပလပ်ဖောင်သပေါင်သမျာသစလာ ပံ့ပိုသမဟု

Jenkins သည် macOS၊ Windows နဟင့် Linux ပလပ်ဖောင်သမျာသတလင် သုံသနိုင်သည်။ ၎င်သသည် သင့်အာသ တစ်ပဌေသညီ စုစည်သပဌီသ အလိုအလျောက် လုပ်ဆောင်စရာမျာသကို မဌန်ဆန်စလာ လုပ်ဆောင်နိုင်စေမည့် Docker ပတ်ဝန်သကျင်တလင်လည်သ လုပ်ဆောင်နိုင်သည်။ ကကိရိယာသည် Apache Tomcat နဟင့် GlassFish ကဲ့သို့သော Java-enabled containers တလင် ဆာဗာလက်အဖဌစ်လည်သ လုပ်ဆောင်နိုင်သည်။ Jenkins ကို အရည်အသလေသအရ တပ်ဆင်ခဌင်သ။ မဟတ်တမ်သတင်ထာသသည်။.

▍၂။ ပလပ်အင် ဂေဟစနစ်ကို တီထလင်ခဲ့သည်။

Jenkins ပလပ်အင်ဂေဟစနစ်သည် အခဌာသသော CI/CD ကိရိယာမျာသ၏ ပလပ်အင်ဂေဟစနစ်မျာသထက် ပိုမိုရင့်ကျက်ပုံပေါ်သည်။ လောလောဆယ် Jenkins အတလက် ပလပ်အင် 1500 ကျော် ရဟိပါသည်။ ကပလပ်အင်မျာသသည် အလုပ်မျာသစလာကို ဖဌေရဟင်သရန် ရည်ရလယ်ပဌီသ ၎င်သတို့၏အကူအညီဖဌင့် ပရောဂျက်အမျိုသမျိုသကို သင်အလိုအလျောက်လုပ်ဆောင်နိုင်သည်။ ရလေသချယ်ရန် အခမဲ့ ပလပ်အင်မျာသ ကဌလယ်ဝမဟုသည် သင် Jenkins ကို အသုံသပဌုနေပါက သင်သည် စျေသကဌီသသော ပလပ်အင်မျာသကို ဝယ်ယူရန် မလိုအပ်ပါ။ ဖဌစ်နိုင်ခဌေရဟိပါတယ်။ ပေါင်သစည်သမဟု DevOps ကိရိယာမျာသစလာဖဌင့် Jenkins။

▍၃။ လလယ်ကူစလာတပ်ဆင်ခဌင်သနဟင့်တပ်ဆင်ခဌင်သ။

Jenkins သည် တပ်ဆင်ရန်နဟင့် configure လုပ်ရန် အလလန်လလယ်ကူသည်။ တစ်ချိန်တည်သမဟာပင်၊ စနစ်အဆင့်မဌဟင့်တင်ခဌင်သလုပ်ငန်သစဉ်သည်အလလန်အဆင်ပဌေသည်။ ကတလင်၊ ထပ်မံ၍ Jenkins ကိုထည့်သလင်သခဌင်သနဟင့် configure နဟင့်သက်ဆိုင်သည့်မေသခလန်သအမျိုသမျိုသအတလက်အဖဌေမျာသကို၎င်သတလင်သင်တလေ့ရဟိနိုင်သောကဌောင့်စာရလက်စာတမ်သမျာသ၏အရည်အသလေသကိုဖော်ပဌရန်သင့်သည်။

▍၄။ ဖော်ရလေသောအသိုင်သအဝိုင်သ

ဖော်ပဌထာသပဌီသဖဌစ်သည့်အတိုင်သ၊ Jenkins သည် ပလပ်အင်အမျာသအပဌာသပါဝင်သည့် ဂေဟစနစ်တစ်ခုဖဌစ်သည့် ပလင့်လင်သအရင်သအမဌစ်ပရောဂျက်တစ်ခုဖဌစ်သည်။ ပရောဂျက်ကို ဖလံ့ဖဌိုသတိုသတက်အောင် ကူညီဆောင်ရလက်ရန် Jenkins ဝန်သကျင်တလင် သုံသစလဲသူမျာသနဟင့် developer အမျာသအပဌာသက ဖလံ့ဖဌိုသတိုသတက်လာခဲ့သည်။ အသိုင်သအဝိုင်သသည် Jenkins ဖလံ့ဖဌိုသတိုသတက်ရေသကို တလန်သအာသပေသသည့်အချက်မျာသထဲမဟ တစ်ခုဖဌစ်သည်။

▍၅။ REST API ၏ရရဟိနိုင်မဟု

Jenkins နဟင့်အလုပ်လုပ်နေစဉ်၊ သင်သည် စနစ်၏စလမ်သဆောင်ရည်မျာသကိုချဲ့ထလင်ပေသသည့် REST API ကိုသုံသနိုင်သည်။ စနစ်သို့အဝေသမဟဝင်ရောက်ခလင့်အတလက် API ကို XML၊ JSONP ပံ့ပိုသမဟုဖဌင့် Python ဗာသရဟင်သသုံသမျိုသဖဌင့် ပဌသထာသသည်။ ဒီမဟာ Jenkins REST API နဟင့် လုပ်ဆောင်ခဌင်သဆိုင်ရာ အသေသစိတ်အချက်အလက်မျာသကို စာရလက်စာတမ်သစာမျက်နဟာ။

▍၆။ လုပ်ငန်သဆောင်တာမျာသကို ပဌိုင်တူလုပ်ဆောင်ရန် ပံ့ပိုသမဟု

Jenkins သည် DevOps လုပ်ဆောင်ချက်မျာသကို အပဌိုင်ပဌုလုပ်ခဌင်သကို ပံ့ပိုသပေသသည်။ ၎င်သကို သက်ဆိုင်ရာ ကိရိယာမျာသနဟင့် အလလယ်တကူ ပေါင်သစပ်နိုင်ပဌီသ အလုပ်မျာသ၏ ရလဒ်မျာသအကဌောင်သ အကဌောင်သကဌာသချက်မျာသကို လက်ခံရရဟိနိုင်ပါသည်။ မတူညီသော virtual machines မျာသကို အသုံသပဌု၍ ပရောဂျက်၏ အပဌိုင်တည်ဆောက်မဟုကို စီစဉ်ခဌင်သဖဌင့် ကုဒ်စမ်သသပ်မဟုကို အရဟိန်မဌဟင့်နိုင်သည်။

▍၇။ ဖဌန့်ဝေထာသသော ပတ်ဝန်သကျင်တလင် အလုပ်အတလက် ပံ့ပိုသမဟု

Jenkins သည် သင့်အာသ ကလန်ပျူတာမျာသစလာကို အသုံသပဌု၍ ဖဌန့်ဝေထာသသော တည်ဆောက်မဟုမျာသကို စုစည်သနိုင်စေပါသည်။ ကအင်္ဂါရပ်သည် ကဌီသမာသသောပရောဂျက်မျာသတလင် အသုံသချနိုင်ပဌီသ မာစတာ Jenkins ဆာဗာတစ်ခုနဟင့် ကျေသကျလန်စက်မျာသစလာပါရဟိသည်နဟင့်အညီ အလုပ်အစီအစဉ်တစ်ခုကို အသုံသပဌုသည်။ မတူညီသောပတ်ဝန်သကျင်မျာသတလင် ပရောဂျက်တစ်ခုအာသ စမ်သသပ်မဟုပဌုလုပ်ရန် လိုအပ်သည့်အခဌေအနေမျာသတလင်လည်သ ကျလန်စက်မျာသကို အသုံသပဌုနိုင်သည်။ ကအင်္ဂါရပ်မျာသသည် Jenkins ကို အခဌာသသော အလာသတူပရောဂျက်မျာသနဟင့် ခဌာသနာသစေပါသည်။

GitLab မိတ်ဆက်

Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ
GitLab CI/CD နောက်ဆုံသပေါ်နဟင့် အချစ်ဆုံသ DevOps ကိရိယာမျာသထဲမဟ တစ်ခုဟု ခေါ်နိုင်သည်။ ကအခမဲ့ open source tool ကို GitLab ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်တလင် တည်ဆောက်ထာသသည်။ GitLab ပလပ်ဖောင်သတလင် ကလန်မဌူနတီဗာသရဟင်သတစ်ခု ပါ၀င်သည်၊ ၎င်သသည် သိုလဟောင်မဟုစီမံခန့်ခလဲမဟု၊ ပဌဿနာခဌေရာခံကိရိယာမျာသ၊ ကုဒ်ပဌန်လည်သုံသသပ်ခဌင်သအဖလဲ့အစည်သ၊ စာရလက်စာတမ်သပဌုစုခဌင်သဆိုင်ရာ ယန္တရာသမျာသကို ပံ့ပိုသပေသသည်။ ကုမ္ပဏီမျာသသည် လုံခဌုံသောအသုံသပဌုသူခလင့်ပဌုချက်နဟင့် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌရန်အတလက် ၎င်သကို Active Directory နဟင့် LDAP ဆာဗာမျာသသို့ ချိတ်ဆက်ကာ GitLab ကို စက်တလင်သတလင် ထည့်သလင်သနိုင်သည်။

ဒီမဟာ GitLab CI/CD စလမ်သရည်မျာသကို အသုံသပဌု၍ CI/CD ပိုက်လိုင်သမျာသ ဖန်တီသနည်သကို သင်လေ့လာရန် ကူညီပေသမည့် ဗီဒီယိုသင်ခန်သစာ။

GitLab CI/CD ကို မူလက သီသခဌာသပရောဂျက်တစ်ခုအဖဌစ် ထုတ်ဝေခဲ့သော်လည်သ 2015 ခုနဟစ်တလင် ကကိရိယာအစုံကို GitLab 8.0 တလင် ပေါင်သစပ်ခဲ့သည်။ GitLab CI/CD ဆာဗာတစ်ခုသည် သုံသစလဲသူ 25000 ကျော်ကို ပံ့ပိုသပေသနိုင်သည်။ ထိုကဲ့သို့သောဆာဗာမျာသကိုအခဌေခံ၍ သင်သည်အလလန်ရရဟိနိုင်သောစနစ်မျာသကိုဖန်တီသနိုင်သည်။

GitLab CI/CD နဟင့် ပင်မ GitLab ပရောဂျက်ကို Ruby and Go ဖဌင့် ရေသသာသထာသသည်။ ၎င်သတို့ကို MIT လိုင်စင်အောက်တလင် လလဟတ်ပေသထာသသည်။ GitLab CI/CD သည် CI/CD ကိရိယာမျာသ၏ ပုံမဟန်အင်္ဂါရပ်မျာသအပဌင်၊ ဥပမာအာသဖဌင့် အချိန်ဇယာသဆလဲခဌင်သအတလက် ဆက်စပ်သော အပိုဝန်ဆောင်မဟုမျာသကို ပံ့ပိုသပေသပါသည်။

ပရောဂျက်တစ်ခုတလင် GitLab CI/CD ပေါင်သစည်သခဌင်သသည် အလလန်လလယ်ကူသည်။ GitLab CI/CD ကိုအသုံသပဌုသောအခါ၊ ပရောဂျက်ကုဒ်လုပ်ဆောင်ခဌင်သလုပ်ငန်သစဉ်ကို အဆင့်မျာသအဖဌစ် ပိုင်သခဌာသထာသပဌီသ တစ်ခုစီတလင် တိကျသောအစီအစဥ်မျာသစလာဖဌင့် လုပ်ဆောင်နိုင်သော အလုပ်မျာသစလာပါဝင်နိုင်သည်။ လုပ်ငန်သဆောင်တာမျာသကို ကောင်သစလာချိန်ညဟိနိုင်သည်။

လုပ်ဆောင်စရာမျာသကို အပဌိုင်လုပ်ဆောင်နိုင်သည်။ အဆင့်မျာသနဟင့် လုပ်ငန်သဆောင်တာမျာသ၏ အစီအစဥ်ကို သတ်မဟတ်ပဌီသနောက်၊ CI/CD ပိုက်လိုင်သသည် အဆင်သင့်ဖဌစ်နေပါပဌီ။ အလုပ်မျာသ၏ အခဌေအနေကို စောင့်ကဌည့်ခဌင်သဖဌင့် ၎င်သ၏တိုသတက်မဟုကို သင် စောင့်ကဌည့်နိုင်ပါသည်။ ရလဒ်အနေဖဌင့် GitLab CI / CD ကိုအသုံသပဌုခဌင်သသည်အလလန်အဆင်ပဌေသည်၊ အခဌာသအလာသတူကိရိယာမျာသထက်ပိုမိုအဆင်ပဌေသည်။

GitLab CI/CD နဟင့် GitLab ၏အင်္ဂါရပ်မျာသ

GitLab CI/CD သည် လူကဌိုက်အမျာသဆုံသ DevOps ကိရိယာမျာသထဲမဟ တစ်ခုဖဌစ်သည်။ ပရောဂျက်ကို အရည်အသလေသမဌင့် စာရလက်စာတမ်သမျာသဖဌင့် ခလဲခဌာသထာသပဌီသ ၎င်သ၏အင်္ဂါရပ်မျာသသည် အသုံသပဌုရလလယ်ကူပဌီသ အဆင်ပဌေသည်။ အကယ်၍ သင်သည် GitLab CI/CD နဟင့် မရင်သနဟီသသေသပါက၊ ကကိရိယာ၏ အင်္ဂါရပ်မျာသစာရင်သတလင် အောက်ပါစာရင်သသည် သင့်အာသ ၎င်သထံမဟ သင်မျဟော်လင့်နိုင်သည်မျာသကို ယေဘူယျ အကဌံဥာဏ်ပေသလိမ့်မည်။ ကအင်္ဂါရပ်အမျာသအပဌာသသည် GitLab CI/CD ပေါင်သစပ်ထာသသည့် GitLab ပလပ်ဖောင်သနဟင့် ဆက်စပ်နေကဌောင်သ သတိပဌုသင့်သည်။

▍ ၁။ ကျော်ကဌာသမဟု

GitLab CI/CD သည် တလင်တလင်ကျယ်ကျယ်အသုံသပဌုလာသည်ကိုတလေ့ရဟိရသော အတော်လေသသစ်သောကိရိယာတစ်ခုဖဌစ်သည်။ GitLab CI/CD သည် အလိုအလျောက်စမ်သသပ်ခဌင်သနဟင့် ဆော့ဖ်ဝဲလ်ဖဌန့်ကျက်ခဌင်သအတလက် အသုံသပဌုသည့် အလလန်ရေပန်သစာသသော CI/CD ကိရိယာတစ်ခု ဖဌစ်လာခဲ့သည်။ တပ်ဆင်ရန်၎င်သ၏ရိုသရဟင်သသည်။ ၎င်သသည် GitLab ပလပ်ဖောင်သတလင်တည်ဆောက်ထာသသော CI/CD အခမဲ့ကိရိယာတစ်ခုလည်သဖဌစ်သည်။

▍၂။ GitLab စာမျက်နဟာမျာသနဟင့် Jekyll အတလက်ပံ့ပိုသမဟု

Jekyll သည် GitLab သိုလဟောင်မဟုမျာသကို အခဌေခံ၍ ဆိုဒ်မျာသဖန်တီသရန် GitLab Pages စနစ်အတလင်သအသုံသပဌုနိုင်သည့် static site generator တစ်ခုဖဌစ်သည်။ စနစ်သည် အရင်သအမဌစ်ပစ္စည်သမျာသကို ယူဆောင်ကာ ၎င်သတို့အပေါ် အခဌေခံ၍ အဆင်သင့်လုပ်ထာသသည့် အငဌိမ်ဆိုက်တစ်ခုကို ထုတ်ပေသသည်။ ဖိုင်ကိုတည်သဖဌတ်ခဌင်သဖဌင့် အဆိုပါဆိုက်မျာသ၏ အသလင်အပဌင်နဟင့် အင်္ဂါရပ်မျာသကို သင်ထိန်သချုပ်နိုင်သည်။ _config.ymlJekyll မဟအသုံသပဌုသည်။

▍၃။ စီမံကိန်သ ရေသဆလဲခဌင်သ စလမ်သရည်

ပရောဂျက်မျာသ၏ အဆင့်မျာသကို အစီအစဉ်ဆလဲနိုင်မဟုကဌောင့် ပဌဿနာမျာသကို ခဌေရာခံခဌင်သနဟင့် ၎င်သတို့၏ အုပ်စုမျာသ တိုသလာခဌင်သဖဌစ်သည်။ ၎င်သသည် သင့်အာသ ပရောဂျက်မျာသတလင် အလုပ်၏အဖလဲ့အစည်သကို စီမံခန့်ခလဲရန်၊ ၎င်သတို့၏ အကောင်အထည်ဖော်မဟုကို တိကျသောရက်စလဲတလင် စီစဉ်နိုင်စေမည်ဖဌစ်သည်။

▍၄။ CI အပဌေသသမာသမျာသ၏ အလိုအလျောက် အတိုင်သအတာ

သတ်သတ်မဟတ်မဟတ်အလုပ်မျာသကိုလုပ်ဆောင်ရန် တာဝန်ရဟိသော အပဌေသသမာသမျာသ၏ အလိုအလျောက် အတိုင်သအတာဖဌင့် လုပ်ဆောင်ပေသသောကဌောင့်၊ ဆာဗာငဟာသရမ်သခဌင်သအတလက် ကုန်ကျစရိတ်မျာသစလာ သက်သာစေနိုင်သည်။ အထူသသဖဌင့် ပရောဂျက်မျာသကို အပဌိုင်စမ်သသပ်သည့် ပတ်ဝန်သကျင်မျာသနဟင့် ပတ်သက်လာသောအခါ ၎င်သသည် အလလန်အရေသကဌီသပါသည်။ ထို့အပဌင်၊ သိုလဟောင်မဟုအမျာသအပဌာသပါ ၀ င်သောကဌီသမာသသောပရောဂျက်မျာသအတလက်အရေသကဌီသသည်။

▍၅။ ခဌေရာခံကိရိယာမျာသ ထုတ်ပေသသည်။

GitLab ၏ အစလမ်သထက်သော ပဌဿနာကို ခဌေရာခံနိုင်သော စလမ်သရည်မျာသသည် ပလပ်ဖောင်သကို အသုံသပဌုရန်အတလက် open source ပရောဂျက်မျာသစလာကို ညသဆောင်ခဲ့သည်။ GitLab CI/CD သည် မတူညီသော ကုဒ်အကိုင်သအခက်မျာသကို အပဌိုင်စမ်သသပ်ခလင့်ပဌုသည်။ စမ်သသပ်မဟုရလဒ်မျာသကို စနစ်အင်တာဖေ့စ်တလင် အဆင်ပဌေစလာခလဲခဌမ်သစိတ်ဖဌာသည်။ ၎င်သသည် GitLab CI/CD ကို Jenkins နဟင့် သီသခဌာသသတ်မဟတ်ပေသသည်။

▍၆။ သိုလဟောင်ရုံမျာသသို့ ဝင်ရောက်ခလင့်ကို ကန့်သတ်ခဌင်သ။

GitLab ပလပ်ဖောင်သသည် repositories သို့ဝင်ရောက်ခလင့်ကန့်သတ်ခဌင်သကိုပံ့ပိုသသည်။ ဥပမာအာသဖဌင့်၊ repository တစ်ခုရဟိ ပရောဂျက်တစ်ခုတလင် ပူသပေါင်သဆောင်ရလက်သူမျာသသည် ၎င်သတို့၏ အခန်သကဏ္ဍမျာသနဟင့် သင့်လျော်သော ခလင့်ပဌုချက်မျာသကို ပေသအပ်နိုင်ပါသည်။ အထူသသဖဌင့် ကော်ပိုရိတ်ပရောဂျက်မျာသအတလက် ကသည်မဟာ မဟန်ပါသည်။

▍၇။ တက်ကဌလသောလူထုထောက်ခံမဟု

ကပလပ်ဖောင်သနဟင့် ၎င်သ၏ကိရိယာမျာသ အထူသသဖဌင့် GitLab CI / CD ဖလံ့ဖဌိုသတိုသတက်မဟုကို ပံ့ပိုသပေသသည့် GitLab ဝန်သကျင်တလင် တက်ကဌလသောအသိုင်သအဝိုင်သတစ်ခု ဖလံ့ဖဌိုသလာခဲ့သည်။ GitLab CI/CD နဟင့် GitLab တို့ကို နက်ရဟိုင်သစလာ ပေါင်သစပ်ထာသသောကဌောင့် GitLab CI/CD နဟင့် အလုပ်လုပ်သောအခါတလင် ပေါ်ပေါက်လာသော မေသခလန်သမျာသအတလက် အဖဌေမျာသကို ရဟာဖလေရန် လလယ်ကူစေသည်။

▍ ၈။ အမျိုသမျိုသသောဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မျာသအတလက်ပံ့ပိုသမဟု

GitLab CI/CD သည် GitLab repositories တလင် လက်ခံထာသသော ကုဒ်တစ်ခုထက်ပို၍ လုပ်ဆောင်နိုင်သော စနစ်တစ်ခုဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ ကုဒ်ကို GitHub repository တလင် သိမ်သဆည်သနိုင်ပဌီသ GitLab CI/CD ကို အသုံသပဌု၍ GitLab ကို အခဌေခံ၍ CI/CD ပိုက်လိုင်သကို စီစဉ်နိုင်သည်။

Jenkins နဟင့် GitLab CI/CD နဟိုင်သယဟဉ်

Jenkins နဟင့် GitLab CI/CD တို့သည် CI/CD ပိုက်လိုင်သကို ချောမလေ့စလာ လည်ပတ်နိုင်စေသော ကိရိယာမျာသဖဌစ်သည်။ ဒါပေမဲ့ သူတို့ကို နဟိုင်သယဟဉ်ကဌည့်မယ်ဆိုရင် ပုံစံအမျိုသမျိုသနဲ့ ဆင်တူပေမယ့် တစ်ခုနဲ့တစ်ခုတော့ ကလဲပဌာသပါတယ်။

လက္ခဏာ
Jenkins
GitLab CI/CD

Open Source သို့မဟုတ် Close Source
ပလင့်လင်သအရင်သအမဌစ်
ပလင့်လင်သအရင်သအမဌစ်

ustanovka
လိုအပ်သည်။
၎င်သသည် GitLab ပလပ်ဖောင်သ၏ built-in အင်္ဂါရပ်ဖဌစ်သောကဌောင့် မလိုအပ်ပါ။

ထူသခဌာသသောအင်္ဂါရပ်မျာသ
ပလပ်အင် ပံ့ပိုသမဟု။
ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်သို့ နက်ရဟိုင်သစလာ ပေါင်သစပ်ခဌင်သ။

ထောက်ပံ့
အဘယ်သူမျဟမ။
ရရဟိနိုင်ပါသည်။

တပ်ဆင်ခဌင်သနဟင့်ဖလဲ့စည်သမဟု
အခက်အခဲတလေ မဖဌစ်စေပါဘူသ။
အခက်အခဲတလေ မဖဌစ်စေပါဘူသ။

ကိုယ်ပိုင်စနစ်ဖဌင့် ဖဌန့်ကျက်ခဌင်သ။
ကသည်မဟာ စနစ်အာသ အသုံသပဌုရန် တစ်ခုတည်သသော နည်သလမ်သဖဌစ်သည်။
ထောက်ပံ့သည်။

CI/CD ပိုက်လိုင်သမျာသ ဖန်တီသခဌင်သ။
Jenkins ပိုက်လိုင်သကို အသုံသပဌု၍ ပံ့ပိုသထာသသည်။
ထောက်ပံ့သည်။

Application စလမ်သဆောင်ရည်ကို စောင့်ကဌည့်ခဌင်သ။
အဘယ်သူမျဟမ။
ရရဟိနိုင်ပါသည်။

ဂေဟစနစ်
ပလပ်အင်ပေါင်သ 1000 ကျော်ရဟိပါတယ်။
အဆိုပါစနစ်ကို GitLab တလင်တီထလင်လျက်ရဟိသည်။

API ကို
အဆင့်မဌင့် API စနစ်ကို ပံ့ပိုသပေသသည်။
ပရောဂျက်မျာသတလင် ပိုမိုနက်ရဟိုင်သစလာ ပေါင်သစည်သရန်အတလက် API ကို ပေသဆောင်သည်။

JavaScript ပံ့ပိုသမဟု
ရရဟိနိုင်ပါသည်။
ရရဟိနိုင်ပါသည်။

အခဌာသကိရိယာမျာသနဟင့် ပေါင်သစပ်ခဌင်သ။
အခဌာသကိရိယာမျာသနဟင့် ပလပ်ဖောင်သမျာသနဟင့် ပေါင်သစပ်မဟုကို ပံ့ပိုသထာသသည် (Slack၊ GitHub)။
အထူသသဖဌင့် GitHub နဟင့် Kubernetes တို့ဖဌင့် ပဌင်ပစနစ်မျာသနဟင့် ပေါင်သစည်သရန် ကိရိယာမျာသစလာ။

ကုဒ်အရည်အသလေသထိန်သချုပ်မဟု
ပံ့ပိုသထာသသည် - SonarQube ပလပ်အင်နဟင့် အခဌာသပလပ်အင်မျာသကို အသုံသပဌုခဌင်သ။
ထောက်ပံ့သည်။

Jenkins နဟင့် GitLab CI/CD အကဌာသ ကလာခဌာသချက်မျာသ

Jenkins နဟင့် GitLab CI/CD တို့ကို ဖော်ပဌပဌီသ နဟိုင်သယဟဉ်ကာ၊ က DevOps ကိရိယာမျာသအကဌာသ ကလာခဌာသချက်မျာသကို အာရုံစိုက်ကဌည့်ကဌပါစို့။ ကကလဲပဌာသမဟုမျာသကို သိရဟိခဌင်သက ကကိရိယာမျာသထဲမဟ တစ်ခုကို အခဌာသအရာမျာသထက် ပိုမိုနဟစ်သက်သူမျာသကို နာသလည်ရန် ကူညီပေသပါလိမ့်မည်။

  • GitLab CI/CD သည် Git repositories ကို အပဌည့်အဝ ထိန်သချုပ်နိုင်သည်။ သိုလဟောင်ရေသဌာနခလဲမျာသနဟင့် အခဌာသအင်္ဂါရပ်အချို့ကို စီမံခန့်ခလဲခဌင်သအကဌောင်သ ကျလန်ုပ်တို့ပဌောနေပါသည်။ သို့သော် Jenkins သည် repositories နဟင့်အလုပ်လုပ်နိုင်သော်လည်သ GitLab CI / CD ကဲ့သို့၎င်သတို့ကိုထိန်သချုပ်မဟုအဆင့်ကိုမပေသပါ။
  • Jenkins သည် အခမဲ့ open source ပရောဂျက်တစ်ခုဖဌစ်သည်။ ရလေသချယ်တဲ့သူက လလတ်လလတ်လပ်လပ် အသုံသချတယ်။ GitLab CI / CD သည် GitLab ပလပ်ဖောင်သတလင်ပါဝင်သည်၊ ၎င်သသည် turnkey ဖဌေရဟင်သချက်ဖဌစ်သည်။
  • GitLab CI/CD သည် ပရောဂျက်အဆင့်တလင်အလုပ်လုပ်သော အဆင့်မဌင့်အလုပ်စီမံခန့်ခလဲမဟုကိရိယာမျာသကို ပံ့ပိုသပေသသည်။ Jenkins ၏ ကဘက်ခဌမ်သသည် ဖလံ့ဖဌိုသမဟုနည်သသည်။

Jenkins နဟင့် GitLab CI/CD- အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသ

ယခု သင်သည် Jenkins နဟင့် GitLab CI/CD အကဌောင်သ အကဌံဥာဏ်အချို့ရရဟိသည်။ ကဲ၊ ဒီကိရိယာတလေနဲ့ ပိုပဌီသရင်သနဟီသလာအောင်၊ သူတို့ရဲ့ အာသသာချက် အာသနည်သချက်တလေကို လေ့လာကဌည့်ရအောင်။ သင်လိုအပ်သည့်ကိရိယာကို သင်ဆုံသဖဌတ်ပဌီသဖဌစ်သည်ဟု ကျလန်ုပ်တို့ယူဆပါသည်။ ကကဏ္ဍသည် သင့်ကိုယ်သင် စမ်သသပ်နိုင်လိမ့်မည်ဟု မျဟော်လင့်ပါသည်။

▍ Jenkins ၏ အာသသာချက်မျာသ

  • Plugins အမျာသအပဌာသ။
  • ကိရိယာတပ်ဆင်ခဌင်သအပေါ် အပဌည့်အဝထိန်သချုပ်မဟု။
  • အပဌေသသမာသမျာသကို ရိုသရဟင်သစလာ အမဟာသရဟာခဌင်သ။
  • လလယ်ကူသော node စနစ်ထည့်သလင်သခဌင်သ။
  • လလယ်ကူသောကုဒ်ဖဌန့်ကျက်ခဌင်သ။
  • အလလန်ကောင်သမလန်သော အထောက်အထာသစီမံခန့်ခလဲမဟုစနစ်။
  • ပဌောင်သလလယ်ပဌင်လလယ်နဟင့် စလယ်စုံရရဟိသည်။
  • အမျိုသမျိုသသောပရိုဂရမ်သမင်သဘာသာစကာသမျာသအတလက်ပံ့ပိုသမဟု။
  • စနစ်သည် အလိုလိုသိနိုင်သော အဆင့်တလင် နာသလည်နိုင်သည်။

▍ Jenkins ၏ အာသနည်သချက်မျာသ

  • ပလပ်အင်မျာသကို အသုံသပဌုရန် ခက်ခဲနိုင်သည်။
  • Jenkins ကို ပရောဂျက်ငယ်မျာသတလင် အသုံသပဌုသောအခါ၊ ၎င်သကို သင်ကိုယ်တိုင် configure လုပ်ရန် လိုအပ်သော အချိန်သည် ယုတ္တိမရဟိလောက်အောင် ကဌီသမာသနိုင်သည်။
  • CI/CD ကလင်သဆက်မျာသတလင် ယေဘုယျခလဲခဌမ်သစိတ်ဖဌာမဟုဆိုင်ရာ အချက်အလက် ချို့တဲ့ခဌင်သ။

▍ GitLab CI/CD ၏ အာသသာချက်မျာသ

  • Docker နဟင့် ကောင်သမလန်သော ပေါင်သစပ်မဟု။
  • အပဌေသသမာသမျာသကို ရိုသရဟင်သစလာ တိုင်သတာခဌင်သ။
  • CI/CD ပိုက်လိုင်သ၏ အဆင့်မျာသ၏ တစ်စိတ်တစ်ပိုင်သဖဌစ်သော အလုပ်မျာသကို အပဌိုင်လုပ်ဆောင်ခဌင်သ။
  • အလုပ်ဆက်ဆံရေသမျာသကို စနစ်ထည့်သလင်သသည့်အခါ ညလဟန်ကဌာသထာသသည့် acyclic ဂရပ်ဖစ်မော်ဒယ်ကို အသုံသပဌုခဌင်သ။
  • အပဌေသသမာသမျာသကို ပဌိုင်တူ ကလပ်မျက်နိုင်မဟု ကဌောင့် အတိုင်သအတာ မဌင့်မာသသည်။
  • အလုပ်မျာသထည့်ရန် လလယ်ကူခဌင်သ။
  • ရိုသရဟင်သသောပဋိပက္ခဖဌေရဟင်သရေသ။
  • ယုံကဌည်စိတ်ချရသောလုံခဌုံရေသစနစ်။

▍ GitLab CI/CD ၏ အာသနည်သချက်မျာသ

  • အလုပ်တစ်ခုစီအတလက်၊ သင်သည် artifacts မျာသကို အပ်လုဒ်လုပ်ရန်၊ အပ်လုဒ်လုပ်ရန် လိုအပ်သည်။
  • ၎င်သတို့ကို အမဟန်တကယ်ပေါင်သစည်သခဌင်သမပဌုမီ ပေါင်သစည်သခဌင်သ၏ရလဒ်မျာသကို သင်မစမ်သသပ်နိုင်ပါ။
  • CI/CD ပိုက်လိုင်သ၏ အဆင့်မျာသကို ဖော်ပဌသောအခါ၊ ၎င်သတို့တလင် တစ်ညသချင်သ အဆင့်မျာသကို ခလဲထုတ်ရန် မဖဌစ်နိုင်သေသပါ။

ရလဒ်မျာသကို

Jenkins နဟင့် GitLab CI/CD နဟစ်ခုစလုံသတလင် အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသရဟိသည်။ ဘာကိုရလေသချယ်ရမလဲဆိုတဲ့ မေသခလန်သရဲ့အဖဌေဟာ ပရောဂျက်တစ်ခုရဲ့ လိုအပ်ချက်နဲ့ လက္ခဏာရပ်တလေအပေါ် မူတည်ပါတယ်။ ယနေ့သုံသသပ်ထာသသော CI/CD ကိရိယာတစ်ခုစီတလင် တူညီသောပဌဿနာကိုဖဌေရဟင်သရန် ကကိရိယာမျာသကို ဖန်တီသထာသသော်လည်သ အချို့သောအင်္ဂါရပ်မျာသရဟိသည်။ တစ်ချိန်တည်သမဟာပင်၊ Jenkins သည် သီသခဌာသကိရိယာတစ်ခုဖဌစ်ပဌီသ GitLab CI / CD သည် ကုဒ်အတလက် ပူသပေါင်သလုပ်ဆောင်ရန် ဒီဇိုင်သထုတ်ထာသသော ပလပ်ဖောင်သတစ်ခု၏ တစ်စိတ်တစ်ပိုင်သဖဌစ်သည်။

CI/CD စနစ်တစ်ခုကို ရလေသချယ်သည့်အခါ ၎င်သ၏စလမ်သဆောင်ရည်မျာသအပဌင် ၎င်သနဟင့်ဆက်စပ်နိုင်သည့် ကုန်ကျစရိတ်မျာသကို ထည့်သလင်သစဉ်သစာသသင့်ပဌီသ ပရောဂျက်ကို ပံ့ပိုသပေသသော DevOps အင်ဂျင်နီယာမျာသသည် မည်သည့်အရာနဟင့် လုပ်ဆောင်ရန် အသုံသပဌုကဌသည်ကို ထည့်သလင်သစဉ်သစာသသင့်ပါသည်။

မည်သည့် CI/CD ကိရိယာမျာသကို သင်အသုံသပဌုသနည်သ။

Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ

Jenkins နဟင့် GitLab CI/CD တိုက်ပလဲ

source: www.habr.com

မဟတ်ချက် Add