Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

သင်သည် DevOps မဟအသစ်ဖဌစ်ပါက၊ သင်၏ပထမဆုံသပိုက်လိုင်သကိုဖန်တီသရန် ကအဆင့်ငါသဆင့်လမ်သညလဟန်ကိုကဌည့်ပါ။

Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

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

ကျလန်ုပ်၏ DevOps ခရီသစဉ်

Citi ၏ cloud အခဌေခံအဆောက်အအုံကို စီမံခန့်ခလဲရန်အတလက် Infrastructure-as-a-Service (IaaS) ဝဘ်အက်ပလီကေသရဟင်သကို တီထလင်နေသည့် Citi Group cloud အဖလဲ့တလင် ယခင်က လုပ်ဆောင်ခဲ့ဖူသသော်လည်သ ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်ကို ပိုမိုထိရောက်စေရန်နဟင့် အပဌုသဘောဆောင်သော ယဉ်ကျေသမဟုပဌောင်သလဲမဟုကို မည်သို့ဆောင်ကဌဉ်သရမည်ကို အမဌဲစိတ်ဝင်စာသခဲ့သည်။ ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့။ Citi ရဟိ Cloud Architecture နဟင့် Infrastructure ၏ CTO မဟ Greg Lavender မဟ အကဌံပဌုထာသသော စာအုပ်တစ်အုပ်တလင် အဖဌေကိုတလေ့ခဲ့သည်။ စာအုပ်ကို The Phoenix Project လို့ခေါ်ပါတယ်။Phoenix ပရောဂျက်) နဟင့် ၎င်သသည် DevOps ၏ အခဌေခံမူမျာသကို ရဟင်သပဌသော်လည်သ ၎င်သသည် ဝတ္ထုကဲ့သို့ ဖတ်သည်။

စာအုပ်၏နောက်ဘက်ရဟိဇယာသတလင် မတူညီသောကုမ္ပဏီမျာသသည် ၎င်သတို့၏စနစ်မျာသကို ထုတ်လလဟတ်သည့်ပတ်ဝန်သကျင်တလင် မည်မျဟကဌာကဌာအသုံသပဌုသည်ကို ပဌသသည်-

Amazon: တစ်ရက်လျဟင် 23
Google: တစ်ရက်လျဟင် 5
Netflix: တစ်ရက်လျဟင် 500
Facebook: တစ်နေ့တစ်ကဌိမ်
Twitter - တစ်ပတ်လျဟင် ၃ ကဌိမ်
ပုံမဟန်ကုမ္ပဏီ- ၉ လတစ်ကဌိမ်

Amazon၊ Google နဟင့် Netflix ကဌိမ်နဟုန်သမျာသသည် မည်သို့ဖဌစ်နိုင်သနည်သ။ အဘယ်ကဌောင့်ဆိုသော် ကကုမ္ပဏီမျာသသည် ပဌီသပဌည့်စုံလုနီသပါသ DevOps ပိုက်လိုင်သကို မည်သို့ဖန်တီသရမည်ကို အဖဌေရဟာခဲ့ကဌသောကဌောင့်ဖဌစ်သည်။

Citi တလင် DevOps ကို အကောင်အထည်မဖော်မချင်သ ကျလန်ုပ်တို့သည် ကအရာနဟင့်ဝေသနေပါသည်။ ထိုအချိန်က၊ ကျလန်ုပ်၏အဖလဲ့သည် မတူညီသောပတ်ဝန်သကျင်မျာသ ရဟိခဲ့သော်လည်သ ဖလံ့ဖဌိုသတိုသတက်မဟုဆာဗာတလင် ဖဌန့်ကျက်ခဌင်သသည် လုံသဝလက်စလဲစာအုပ်ဖဌစ်သည်။ developer မျာသအာသလုံသသည် IBM WebSphere Application Server Community Edition ကိုအခဌေခံထာသသော ဖလံ့ဖဌိုသတိုသတက်မဟုဆာဗာတစ်ခုသာ အသုံသပဌုခလင့်ရဟိသည်။ ပဌဿနာမဟာ အသုံသပဌုသူအမျာသအပဌာသကို တစ်ချိန်တည်သတလင် အသုံသပဌုရန် ကဌိုသစာသသည့်အခါတိုင်သ ဆာဗာကို ပိတ်သလာသသည့်အတလက်ကဌောင့် developer မျာသသည် ၎င်သတို့၏ ရည်ရလယ်ချက်မျာသကို အချင်သချင်သ ဆက်သလယ်ရမည်ဖဌစ်ပဌီသ၊ ယင်သမဟာ အလလန်နာကျင်ပါသည်။ ထို့အပဌင်၊ အဆင့်နိမ့်သော စမ်သသပ်ကုဒ်အကျုံသဝင်မဟု၊ ခက်ခဲကဌမ်သတမ်သသော လက်စလဲအသုံသပဌုမဟု လုပ်ငန်သစဉ်မျာသနဟင့် သီသခဌာသလုပ်ငန်သတာဝန် သို့မဟုတ် အသုံသပဌုသူဇာတ်လမ်သနဟင့် ဆက်စပ်နေသည့် ကုဒ်ဖဌန့်ကျက်မဟုကို ခဌေရာခံရန် မစလမ်သဆောင်နိုင်သော ပဌဿနာမျာသ ရဟိခဲ့သည်။

တစ်ခုခုလုပ်ရမယ်ဆိုတာ သဘောပေါက်ပဌီသ စိတ်တူကိုယ်တူ လုပ်ဖော်ကိုင်ဖက်တစ်ယောက်ကို ရဟာတလေ့ခဲ့တယ်။ ကျလန်ုပ်တို့သည် ကနဩှ DevOps ပိုက်လိုင်သကို တည်ဆောက်ရာတလင် ပူသပေါင်သရန် ဆုံသဖဌတ်ခဲ့သည် - သူသည် Jenkins တလင် အလုပ်လုပ်စဉ်၊ Atlassian Jira နဟင့် BitBucket ပေါင်သစပ်ထာသသည့် Tomcat virtual machine နဟင့် application server တစ်ခုကို တည်ထောင်ခဲ့ပဌီသ စမ်သသပ်ကုဒ်အကျုံသဝင်မဟုတလင် လုပ်ဆောင်ခဲ့သည်။ ကဘေသထလက်ပရောဂျက်သည် အလလန်အောင်မဌင်ခဲ့သည်- ကျလန်ုပ်တို့သည် လုပ်ငန်သစဉ်မျာသစလာကို အလိုအလျောက်လုပ်ဆောင်ပဌီသ၊ ကျလန်ုပ်တို့၏ဖလံ့ဖဌိုသတိုသတက်မဟုဆာဗာတလင် 100% အလုပ်ချိန်နီသပါသရရဟိထာသပဌီသ၊ ကုဒ်၏ခဌေရာခံခဌင်သနဟင့် ပိုမိုကောင်သမလန်သောစမ်သသပ်မဟုလလဟမ်သခဌုံမဟုကို ပံ့ပိုသပေသကာ Git အကိုင်သအခက်မျာသကို Jira ပဌဿနာမျာသ သို့မဟုတ် ဖဌန့်ကျက်မဟုမျာသသို့ ချိတ်ဆက်နိုင်သည့်စလမ်သရည်ကို ထည့်သလင်သထာသသည်။ ကျလန်ုပ်တို့၏ DevOps ပိုက်လိုင်သကို တည်ဆောက်ရာတလင် အသုံသပဌုသည့် ကိရိယာအမျာသစုမဟာ open source ဖဌစ်သည်။

ကျလန်ုပ်တို့၏ DevOps ပိုက်လိုင်သသည် မည်မျဟရိုသရဟင်သသည်ကို ယခု ကျလန်ုပ်နာသလည်ပါပဌီ- ကျလန်ုပ်တို့သည် Jenkins ဖိုင်မျာသ သို့မဟုတ် Ansible ကဲ့သို့သော တိုသချဲ့မဟုမျာသကို အသုံသမပဌုခဲ့ပါ။ သို့သော်၊ ကရိုသရဟင်သသောပိုက်လိုင်သသည် Pareto နိယာမ (80/20 စည်သမျဉ်သဟုလည်သခေါ်သည်) ကဌောင့်ဖဌစ်ကောင်သဖဌစ်နိုင်သည်။

DevOps နဟင့် CI/CD ပိုက်လိုင်သအကဌောင်သ အကျဉ်သချုပ် မိတ်ဆက်

"DevOps ဆိုတာ ဘာလဲ" ဟု လူမျာသစလာကို မေသပါက၊ သင်သည် မတူညီသော အဖဌေမျာသစလာကို ရရဟိနိုင်သည်။ Agile ကဲ့သို့ DevOps သည် မတူညီသော ပညာရပ်မျာသစလာကို ချဲ့ထလင်လာခဲ့သော်လည်သ လူအမျာသစုက အချက်အချို့ကို သဘောတူကဌလိမ့်မည်- DevOps သည် ဆော့ဖ်ဝဲလ်ဖလံ့ဖဌိုသတိုသတက်ရေသအလေ့အကျင့်တစ်ခု သို့မဟုတ် ဆော့ဖ်ဝဲဖလံ့ဖဌိုသတိုသတက်မဟုဘဝစက်ဝန်သ (SDLC) သည် ဆော့ဖ်ဝဲရေသဆလဲသူနဟင့် မသက်ဆိုင်သည့် ယဉ်ကျေသမဟုကို ပဌောင်သလဲနေသည့် အဓိကသဘောတရာသတစ်ခုဖဌစ်သည်။ developer မျာသသည် ထိုပတ်ဝန်သကျင်တလင် တည်ရဟိသည်-

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

မဟန်ကန်သောဆော့ဖ်ဝဲလ်ကိရိယာမျာသရဟိခဌင်သသည် DevOps ပတ်ဝန်သကျင်ကိုဖန်တီသရန် သင်လိုအပ်သည့်တစ်ခုတည်သသောအရာမဟုတ်သော်လည်သ အချို့သောကိရိယာမျာသသည် မရဟိမဖဌစ်လိုအပ်ပါသည်။ အဓိက ကိရိယာမဟာ စဉ်ဆက်မပဌတ် ပေါင်သစပ်ခဌင်သနဟင့် စဉ်ဆက်မပဌတ် ဖဌန့်ကျက်ခဌင်သ (CI/CD) ဖဌစ်သည်။ ကပိုက်လိုင်သတလင်၊ ပတ်ဝန်သကျင်မျာသတလင် မတူညီသောအဆင့်မျာသ (ဥပမာ DEV၊ INT၊ TST၊ QA၊ UAT၊ STG၊ PROD)၊ လုပ်ဆောင်ချက်မျာသစလာသည် အလိုအလျောက်ဖဌစ်ပဌီသ၊ ဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသသည် အရည်အသလေသမဌင့်ကုဒ်မျာသရေသသာသနိုင်ပဌီသ ဖလံ့ဖဌိုသတိုသတက်မဟုသလက်လက်မဟုနဟင့် မဌင့်မာသသောအသုံသချမဟုနဟုန်သမျာသကို ရရဟိနိုင်ပါသည်။

ကဆောင်သပါသသည် open source ကိရိယာမျာသကို အသုံသပဌု၍ အောက်ပါပုံတလင်ပဌထာသသည့်အတိုင်သ DevOps ပိုက်လိုင်သဖန်တီသရန် အဆင့်ငါသဆင့် ချဉ်သကပ်ပုံကို ဖော်ပဌထာသပါသည်။

အဆင့် 1- CI/CD နည်သလမ်သမျာသ

သင်ပထမဆုံသလိုအပ်သည်မဟာ CI/CD tool တစ်ခုဖဌစ်သည်။ Java ကိုအခဌေခံ၍ MIT လိုင်စင်အောက်တလင်လိုင်စင်ရထာသသော open source tool ဖဌစ်သော Jenkins သည် DevOps ကိုလူကဌိုက်မျာသပဌီသ de facto စံဖဌစ်လာခဲ့သည်။

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

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

Jenkins- Creative Commons နဟင့် MIT
Travis CI: MIT
Cruise Control-BSD
Buildbot- GPL
Apache Gump- Apache 2.0
Cabie: GNU

ကသည်မဟာ DevOps လုပ်ငန်သစဉ်မျာသကို CI/CD ကိရိယာဖဌင့် ကဌည့်ရသည်-

Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

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

အဆင့် 2- အရင်သအမဌစ်ထိန်သချုပ်မဟုစနစ်မျာသကို စီမံခန့်ခလဲပါ။

သင်၏ CI/CD ကိရိယာသည် ၎င်သ၏ မဟော်ဆန်မဟုကို လုပ်နိုင်ကဌောင်သ အတည်ပဌုရန် အကောင်သဆုံသ (အလလယ်ဆုံသ) နည်သလမ်သမဟာ အရင်သအမဌစ်ကုဒ်ထိန်သချုပ်မဟု (SCM) ကိရိယာတစ်ခုနဟင့် ပေါင်သစပ်ခဌင်သဖဌစ်သည်။ အဘယ်ကဌောင့်အရင်သအမဌစ်ထိန်သချုပ်မဟုလိုအပ်သနည်သ။ သင်သည် အက်ပလီကေသရဟင်သတစ်ခုကို တီထလင်နေသည်ဆိုပါစို့။ သင်အပလီကေသရဟင်သတစ်ခုဖန်တီသသည့်အခါတိုင်သ သင်သည် ပရိုဂရမ်ရေသသာသနေပဌီသ Java၊ Python၊ C++၊ Go၊ Ruby၊ JavaScript သို့မဟုတ် ပရိုဂရမ်သမင်သဘာသာစကာသပေါင်သ သန်သပေါင်သမျာသစလာကို သင်အသုံသပဌုသည်ဖဌစ်စေ အရေသမကဌီသပါ။ သင်ရေသတဲ့ကုဒ်ကို source code လို့ခေါ်ပါတယ်။ အစပိုင်သတလင်၊ အထူသသဖဌင့် သင်တစ်ယောက်တည်သ အလုပ်လုပ်သည့်အခါ၊ အရာအာသလုံသကို local directory တလင် ထည့်ထာသရန် ဖဌစ်နိုင်သည်။ သို့သော် ပရောဂျက်သည် ပိုမိုကဌီသမာသလာကာ အခဌာသသူမျာသကို ပူသပေါင်သလုပ်ဆောင်ရန် ဖိတ်ခေါ်လာသည်နဟင့်အမျဟ၊ ပဌုပဌင်မလမ်သမံမဟုမျာသကို ထိထိရောက်ရောက် မျဟဝေခဌင်သဖဌင့် ပဋိပက္ခမျာသကို ကာကလယ်ရန် နည်သလမ်သတစ်ခု လိုအပ်ပါသည်။ အရန်မျာသဖန်တီသခဌင်သနဟင့် ၎င်သတို့ထဲသို့ ကူသယူခဌင်သ/ကူသထည့်ခဌင်သသည် အသုံသမပဌုတော့သောကဌောင့် ယခင်ဗာသရဟင်သမျာသကို ပဌန်လည်ရယူရန် နည်သလမ်သတစ်ခုလည်သ လိုအပ်ပါသည်။ သင် (နဟင့် သင့်အသင်သဖော်မျာသ) သည် ပိုကောင်သသောအရာတစ်ခု လိုအပ်ပါသည်။

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

အရင်သအမဌစ်ထိန်သချုပ်ရေသကိရိယာမျာသစလာရဟိသော်လည်သ၊ Git သည်စံဖဌစ်ပဌီသ၊ မဟန်ပါသည်။ သင်နဟစ်သက်ပါက အခဌာသ open source ရလေသချယ်စရာမျာသ ရဟိသော်လည်သ Git ကို အသုံသပဌုရန် အထူသအကဌံပဌုလိုပါသည်။

Git- GPLv2 နဟင့် LGPL v2.1
အဖျက်အမဟောင့်- Apache 2.0
Concurrent Versions System (CVS): GNU
Vesta- LGPL
Mercurial- GNU GPL v2+

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

Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

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

အဆင့် 3- Build Automation Tool တစ်ခုဖန်တီသပါ။

မိုက်တယ်! သင်သည် ကုဒ်ကို ပဌန်လည်သုံသသပ်ပဌီသ အရင်သအမဌစ်ထိန်သချုပ်မဟုကို အပဌောင်သအလဲမျာသ ပဌုလုပ်နိုင်ပဌီသ ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် ပူသပေါင်သဆောင်ရလက်ရန် သင့်သူငယ်ချင်သမျာသကို ဖိတ်ကဌာသနိုင်သည်။ သို့သော် သင်သည် အက်ပလီကေသရဟင်သကို မဖန်တီသရသေသပါ။ ဝဘ်အက်ပလီကေသရဟင်သတစ်ခုပဌုလုပ်ရန်၊ ၎င်သကို ဖဌန့်ကျက်နိုင်သော batch ဖော်မတ်ဖဌင့် စုစည်သပဌီသ ထုပ်ပိုသရမည် သို့မဟုတ် လုပ်ဆောင်နိုင်သော ဖိုင်တစ်ခုအဖဌစ် လုပ်ဆောင်ရပါမည်။ (JavaScript သို့မဟုတ် PHP ကဲ့သို့ ဘာသာပဌန်ထာသသော ပရိုဂရမ်သမင်သဘာသာစကာသကို ပဌုစုရန်မလိုအပ်ကဌောင်သ သတိပဌုပါ။)

build automation tool ကိုသုံသပါ။ မည်သည့် automation tool ကို သင်အသုံသပဌုရန် ဆုံသဖဌတ်သည်ဖဌစ်စေ ၎င်သတို့အာသလုံသတလင် တူညီသော ပန်သတိုင်ရဟိပါသည်- အရင်သအမဌစ်ကုဒ်ကို လိုချင်သောပုံစံအဖဌစ် ဖန်တီသကာ သန့်ရဟင်သရေသ၊ စုစည်သမဟု၊ စမ်သသပ်ခဌင်သနဟင့် သီသခဌာသပတ်ဝန်သကျင်တစ်ခုသို့ ဖဌန့်ကျက်လုပ်ဆောင်ခဌင်သတို့ကို အလိုအလျောက်လုပ်ဆောင်ပါ။ Build tools မျာသသည် သင့်ပရိုဂရမ်သမင်သဘာသာစကာသပေါ် မူတည်၍ ကလဲပဌာသလိမ့်မည်၊ သို့သော် ကသည်မဟာ အမျာသသုံသ open source ရလေသချယ်စရာအချို့ဖဌစ်သည်။

နာမတျောကို
လိုင်စင်
ပရိုဂရမ်သမင်သဘာသာစကာသ

ကျလမ်သကျင်သူ
Apache ကို 2.0
ဂျာဗာသ

ပရလက်ဆိတ်
Apache ကို 2.0
ဂျာဗာသ

ကျောင်သသူ
Apache ကို 2.0
ဂျာဗာသ

ဇန်နဝါရီလ
Apache ကို 2.0
ဂျာဗာသ

Make
ကို GNU
N / A

မလေ
MIT က
JavaScript ကို

ကျိုက်
MIT က
JavaScript ကို

တည်ဆောက်သူ
Apache ကို
ပတ္တမဌာသ

လူယုတ်မာ
MIT က
ပတ္တမဌာသ

အေအေပီ
ကို GNU
Python ကို

SCons မျာသ
MIT က
Python ကို

BitBake
GPLv2
Python ကို

ကိတ်မုန့်
MIT က
C#

ASDF
Expat (MIT)
LISP

ပဌည့်စုံသော
BSD
Haskell

မိုက်တယ်! သင်၏ ရင်သမဌစ်ထိန်သချုပ်မဟုစနစ်တလင် build automation tool configuration files မျာသကို ထည့်သလင်သနိုင်ပဌီသ သင်၏ CI/CD tool အာသလုံသကို ပေါင်သစည်သနိုင်စေပါသည်။

Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

အာသလုံသအဆင်ပဌေတယ်မဟုတ်လာသ? ဒါပေမယ့် မင်သရဲ့ လျဟောက်လလဟာကို ဘယ်မဟာ အသုံသချမလဲ။

အဆင့် 4: Web Application Server

ယခုအချိန်တလင်၊ သင့်တလင် executable သို့မဟုတ် install လုပ်နိုင်သော packaged file တစ်ခုရဟိသည်။ မည်သည့်အပလီကေသရဟင်သမဆို အမဟန်တကယ်အသုံသတည့်စေရန်၊ ၎င်သသည် ဝန်ဆောင်မဟုတစ်မျိုသမျိုသ သို့မဟုတ် အင်တာဖေ့စ်ကို ပေသဆောင်ရမည်ဖဌစ်ပဌီသ၊ သင်၏အပလီကေသရဟင်သကို လက်ခံကျင်သပရန် ကလန်တိန်နာတစ်ခု လိုအပ်သည်။

ဝဘ်အက်ပလီကေသရဟင်သဆာဗာသည် ထိုသို့သော ကလန်တိန်နာတစ်ခုသာဖဌစ်သည်။ ဆာဗာသည် အသုံသပဌုနေသည့် ပက်ကေ့ဂျစ်၏ ယုတ္တိကို သတ်မဟတ်နိုင်သည့် ပတ်ဝန်သကျင်ကို ပေသဆောင်သည်။ ဆာဗာသည် အင်တာဖေ့စ်တစ်ခုကိုလည်သ ထောက်ပံ့ပေသပဌီသ socket မျာသကို ပဌင်ပကမ္ဘာသို့ ထုတ်ဖော်ခဌင်သဖဌင့် ဝဘ်ဝန်ဆောင်မဟုမျာသကို ပေသဆောင်သည်။ ၎င်သကိုထည့်သလင်သရန်အတလက် သင်သည် HTTP ဆာဗာအပဌင် ပတ်ဝန်သကျင်အချို့ ( virtual machine ကဲ့သို့) လိုအပ်ပါသည်။ ယခုအချိန်တလင်၊ ကအကဌောင်သပိုမိုလေ့လာနိုင်မည်ဟု ယူဆကဌပါစို့ (အောက်တလင် ကလန်တိန်နာမျာသကို ကျလန်ုပ်ဖော်ပဌမည်ဖဌစ်သော်လည်သ)။

open source web application server အမျာသအပဌာသရဟိသည်။

နာမတျောကို
လိုင်စင်
ပရိုဂရမ်သမင်သဘာသာစကာသ

Tomcat
Apache ကို 2.0
ဂျာဗာသ

ဆိပ်ခံတံတာသ
Apache ကို 2.0
ဂျာဗာသ

တောရိုင်သ
GNU Lesser Public
ဂျာဗာသ

GlassFish
CDDL & GNU နည်သပါသသော အမျာသသူငဟာ
ဂျာဗာသ

Django
၃-အပိုဒ် BSD
Python ကို

လပဟေ
Apache ကို 2.0
Python ကို

ကျောက်တံတာသ
MIT က
Python ကို

Python ကို
MIT က
Python ကို

လက်ရန်သတန်သ
MIT က
ပတ္တမဌာသ

Node.js
MIT က
Javascript ကို

သင်၏ DevOps ပိုက်လိုင်သသည် အသုံသပဌုရန် အသင့်ဖဌစ်လုနီသပါသဖဌစ်သည်။ တော်တယ်!

Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

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

အဆင့် 5- ကုဒ်စမ်သသပ်ခဌင်သ အကျုံသဝင်သည်။

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

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

ကုဒ်စမ်သသပ်မဟုစနစ်မျာသ

နာမတျောကို
လိုင်စင်
ပရိုဂရမ်သမင်သဘာသာစကာသ

JUnit
နေကဌတ်ပဌည်သူ့လိုင်စင်
ဂျာဗာသ

EasyMock
Apache ကို
ဂျာဗာသ

mockito
MIT က
ဂျာဗာသ

PowerMock
Apache ကို 2.0
ဂျာဗာသ

Pytest
MIT က
Python ကို

အယူအဆ
Mozilla က
Python ကို

အဆိပ်
MIT က
Python ကို

ကုဒ်တိုသတက်မဟုအတလက် အကဌံပဌုချက်စနစ်မျာသ

နာမတျောကို
လိုင်စင်
ပရိုဂရမ်သမင်သဘာသာစကာသ

Cobertura
ကို GNU
ဂျာဗာသ

CodeCover
Eclipse Public (EPL)
ဂျာဗာသ

coverage.py
Apache ကို 2.0
Python ကို

အမ်မာ
ဘုံအမျာသပဌည်သူလိုင်စင်
ဂျာဗာသ

JaCoCo
နေကဌတ်ပဌည်သူ့လိုင်စင်
ဂျာဗာသ

အယူအဆ
Mozilla က
Python ကို

အဆိပ်
MIT က
Python ကို

စံပယ်
MIT က
JavaScript ကို

Karma
MIT က
JavaScript ကို

Mocha
MIT က
JavaScript ကို

ရဟိ
MIT က
JavaScript ကို

အထက်ဖော်ပဌပါ ကိရိယာမျာသနဟင့် မူဘောင်အမျာသစုကို C++ နဟင့် C# တို့သည် မူပိုင်ပရိုဂရမ်သမင်သဘာသာစကာသမျာသ (GCC သည် open source ဖဌစ်သော်လည်သ) ဖဌစ်သောကဌောင့် Java၊ Python နဟင့် JavaScript အတလက် ရေသသာသထာသကဌောင်သ သတိပဌုပါ။

ယခု သင် စမ်သသပ်မဟု အကျုံသဝင်သည့် ကိရိယာမျာသကို အကောင်အထည်ဖော်ပဌီသဖဌစ်၍၊ သင်၏ DevOps ပိုက်လိုင်သသည် ကသင်ခန်သစာ၏ အစတလင် ပဌသထာသသည့် ပုံသဏ္ဍာန်နဟင့် ဆင်တူနေသင့်ပါသည်။

နောက်ထပ်အဆင့်မျာသ

кПМтейМеры

ငါပဌောခဲ့သည့်အတိုင်သ၊ သင်သည်သင်၏ဆာဗာကို virtual machine သို့မဟုတ်ဆာဗာတလင်လက်ခံနိုင်သော်လည်သ containers မျာသသည်လူကဌိုက်မျာသသောဖဌေရဟင်သချက်ဖဌစ်သည်။

ကလန်တိန်နာတလေက ဘာတလေလဲ။ အတိုချုံသရဟင်သလင်သချက်မဟာ virtual machine တစ်ခုသည် application ၏အရလယ်အစာသထက်ကျော်လလန်ပဌီသ operating system memory ပမာဏမျာသစလာလိုအပ်ပဌီသ container တစ်ခုသည် application ကို run ရန်အတလက် libraries နဟင့် configuration အနည်သငယ်သာလိုအပ်ပါသည်။ ထင်ရဟာသသည်မဟာ၊ virtual machine အတလက်အရေသကဌီသသောအသုံသပဌုမဟုမျာသရဟိနေသေသသော်လည်သ container သည် application server အပါအဝင် application တစ်ခုကို hosting အတလက်ပေါ့ပါသသောဖဌေရဟင်သချက်ဖဌစ်သည်။

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

Docker- Apache 2.0
Kubernetes- Apache 2.0

အလယ်အလတ် အလိုအလျောက်စနစ် ကိရိယာမျာသ

ကျလန်ုပ်တို့၏ DevOps ပိုက်လိုင်သသည် ပူသပေါင်သလုပ်ဆောင်သည့် အက်ပ်လီကေသရဟင်သဖန်တီသခဌင်သနဟင့် အသုံသချခဌင်သအပေါ် အဓိကအာရုံစိုက်ထာသသော်လည်သ DevOps ကိရိယာမျာသဖဌင့် လုပ်ဆောင်နိုင်သည့် အခဌာသအရာမျာသစလာရဟိပါသည်။ ၎င်သတို့ထဲမဟတစ်ခုမဟာ အခဌေခံအဆောက်အအုံဆိုင်ရာ Code (IaC) ကိရိယာမျာသကို အသုံသပဌုခဌင်သဖဌစ်ပဌီသ Middleware automation tools မျာသဟုလည်သလူသိမျာသသည်။ ကကိရိယာမျာသသည် အလယ်တန်သဆော့ဖ်ဝဲအတလက် တပ်ဆင်မဟု၊ စီမံခန့်ခလဲမဟုနဟင့် အခဌာသလုပ်ဆောင်စရာမျာသကို အလိုအလျောက်လုပ်ဆောင်ရန် ကူညီပေသသည်။ ထို့ကဌောင့်၊ ဥပမာအာသဖဌင့်၊ အလိုအလျောက်စနစ်တူသလ်တစ်ခုသည် ဝဘ်အက်ပလီကေသရဟင်သဆာဗာ၊ ဒေတာဘေ့စ်နဟင့် မဟန်ကန်သောဖလဲ့စည်သပုံမျာသဖဌင့် စောင့်ကဌည့်စစ်ဆေသသည့်ကိရိယာကဲ့သို့ အပလီကေသရဟင်သမျာသကို ထုတ်ယူနိုင်ပဌီသ ၎င်သတို့ကို အပလီကေသရဟင်သဆာဗာသို့ အသုံသချနိုင်သည်။

ကသည်မဟာ အချို့သော open source အလယ်တန်သဆော့ဖ်ဝဲ အလိုအလျောက်လုပ်ဆောင်ခဌင်သ ကိရိယာမျာသဖဌစ်သည်-

Ansible- GNU အမျာသပိုင်
SaltStack- Apache 2.0
စာသဖိုမဟူသ- Apache 2.0
ရုပ်သေသ- Apache သို့မဟုတ် GPL

Beginner's Guide- DevOps Pipeline ဖန်တီသခဌင်သ။

SkillFactory မဟ အခပေသအလန်လိုင်သသင်တန်သမျာသကို သင်ယူခဌင်သဖဌင့် အရည်အချင်သနဟင့် လစာ သတ်မဟတ်ချက်မျာသတလင် ဆည်သကပ်သည့် အသက်မလေသဝမ်သကဌောင်သတစ်ခုအာသ အစမဟနေ၍ မည်သို့ရယူရမည်နည်သ အသေသစိတ်ကို ရဟာဖလေပါ-

နောက်ထပ်သင်တန်သမျာသ

အသုံသဝင်သော

source: www.habr.com

မဟတ်ချက် Add