ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

ရုပ်ပုံ Unsplash

အာသလုံသမင်္ဂလာပါ! ကျလန်ုပ်တို့သည် ကုမ္ပဏီမဟ အလိုအလျောက် အင်ဂျင်နီယာမျာသဖဌစ်သည်။ အပဌုသဘောဆောင်သောနည်သပညာမျာသ ကုမ္ပဏီ၏ ထုတ်ကုန်မျာသ၏ ဖလံ့ဖဌိုသတိုသတက်မဟုကို ကျလန်ုပ်တို့ ပံ့ပိုသပါသည်- ဆော့ဖ်ဝဲရေသသာသသူမျာသ၏ ကုဒ်လိုင်သတစ်ခု၏ ကုဒ်တစ်ခု၏ ကုဒ်တစ်ခု၏ ကုဒ်တစ်ခုမဟ စုပဌုံပိုက်လိုင်သတစ်ခုလုံသကို အပ်ဒိတ်ဆာဗာမျာသပေါ်တလင် ထုတ်ကုန်မျာသနဟင့် လိုင်စင်မျာသ ထုတ်ဝေခဌင်သအထိ ပံ့ပိုသပေသပါသည်။ အလလတ်သဘောအာသဖဌင့်၊ ကျလန်ုပ်တို့ကို DevOps အင်ဂျင်နီယာမျာသဟုခေါ်သည်။ ကဆောင်သပါသတလင်၊ ကျလန်ုပ်တို့သည် ဆော့ဖ်ဝဲလ်ထုတ်လုပ်ခဌင်သလုပ်ငန်သစဉ်၏ နည်သပညာအဆင့်မျာသ၊ ၎င်သတို့ကို မည်သို့မဌင်ပုံနဟင့် ၎င်သတို့ကို အမျိုသအစာသခလဲပုံအကဌောင်သ ဆလေသနလေသလိုပါသည်။

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

Chaos နဟင့် DevOps အကဌောင်သ

အတိုချုပ်အာသဖဌင့်၊ DevOps ၏ အယူအဆတလင် ဖလံ့ဖဌိုသတိုသတက်ရေသကိရိယာမျာသနဟင့် ဝန်ဆောင်မဟုမျာသအပဌင် ၎င်သတို့၏အသုံသပဌုမဟုအတလက် နည်သစနစ်မျာသနဟင့် အကောင်သဆုံသအလေ့အကျင့်မျာသ ပါဝင်ပါသည်။ တစ်ကမ္ဘာလုံသကို ဖဌန့်ကဌည့်ရအောင် ရည်မဟန်သချက် ကျလန်ုပ်တို့၏ကုမ္ပဏီရဟိ DevOps စိတ်ကူသမျာသကို အကောင်အထည်ဖော်ခဌင်သမဟ၊ ၎င်သသည် အရေအတလက်သတ်မဟတ်ချက်အရ ထုတ်ကုန်မျာသ၏ထုတ်လုပ်မဟုနဟင့် ပဌုပဌင်ထိန်သသိမ်သမဟုကုန်ကျစရိတ် (လူ-နာရီ သို့မဟုတ် စက်နာရီ၊ CPU၊ RAM၊ Disk စသည်ဖဌင့်) ကို တသမတ်တည်သ လျဟော့ချလိုက်ခဌင်သဖဌစ်သည်။ ကုမ္ပဏီတစ်ခုလုံသ၏အဆင့်တလင် ဖလံ့ဖဌိုသတိုသတက်မဟုကုန်ကျစရိတ်အာသလုံသကို လျဟော့ချရန် အလလယ်ကူဆုံသနဟင့် အထင်ရဟာသဆုံသနည်သလမ်သမဟာ ပုံမဟန် serial tasks မျာသလုပ်ဆောင်ခဌင်သအတလက် ကုန်ကျစရိတ်ကို လျဟော့ချပေသသည်။ ထုတ်လုပ်မဟုအဆင့်တိုင်သတလင်။ ဒါပေမယ့် ဒီအဆင့်တလေက ဘာတလေလဲ၊ အထလေထလေ လုပ်ငန်သစဉ်ကနေ ဘယ်လိုခလဲမလဲ၊ ဘယ်လို အဆင့်တလေ ပါဝင်ပါသလဲ။

ကုမ္ပဏီတစ်ခုသည် ထုတ်ကုန်တစ်ခုအာသ တီထလင်သောအခါ၊ အရာအာသလုံသသည် အနည်သနဟင့်အမျာသ ရဟင်သနေသည်- အမျာသအာသဖဌင့် ဘုံလမ်သပဌမဌေပုံနဟင့် ဖလံ့ဖဌိုသတိုသတက်မဟုအစီအစဥ်မျာသရဟိသည်။ ဒါပေမယ့် ထုတ်ကုန်လိုင်သ ချဲ့ထလင်ပဌီသ ထုတ်ကုန်တလေ ပိုမျာသလာတဲ့အခါ ဘာလုပ်ရမလဲ။ ပထမတစ်ချက်တလင်၊ ၎င်သတို့တလင် ဆင်တူသော လုပ်ငန်သစဉ်မျာသနဟင့် စည်သဝေသပလဲလိုင်သမျာသရဟိပဌီသ မဟတ်တမ်သမျာသနဟင့် Script မျာသရဟိ "X ကလဲပဌာသမဟုမျာသကို ရဟာဖလေရန်" ဂိမ်သသည် စတင်ပါသည်။ သို့သော် တက်ကဌလသော ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် 5+ ပရောဂျက်မျာသရဟိပဌီသ နဟစ်မျာသစလာအတလင်သ ဗာသရဟင်သမျာသစလာကို တီထလင်ဖန်တီသထာသသည့် ဗာသရဟင်သမျာသအတလက် ပံ့ပိုသကူညီမဟု လိုအပ်နေပါက အဘယ်နည်သ။ ကျလန်ုပ်တို့သည် ထုတ်ကုန်ပိုက်လိုင်သမျာသတလင် ဖဌစ်နိုင်ချေအမျာသဆုံသဖဌေရဟင်သချက်အရေအတလက်ကို ပဌန်လည်အသုံသပဌုလိုပါသလာသ သို့မဟုတ် တစ်ခုစီအတလက် ထူသခဌာသသောဖလံ့ဖဌိုသတိုသတက်မဟုတစ်ခုအတလက် ငလေသုံသရန် အဆင်သင့်ဖဌစ်ပါသလာသ။

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

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

ဖလံ့ဖဌိုသတိုသတက်ရေသဒါရိုက်တာ: "ယောက်ျာသလေသတလေ၊ ထုတ်ကုန်တလေအတလက် DevOps က ဘာလုပ်ပေသတယ်ဆိုတာ တစ်နည်သနည်သနဲ့ အကဲဖဌတ်နိုင်မလာသ။"

ကျလန်တော်တို့- "ကျလန်ုပ်တို့မသိပါဘူသ၊ ဒီလိုမေသခလန်သမျိုသမမေသထာသပါဘူသ၊ ဒါပေမယ့် ဘယ်ညလဟန်သကိန်သတလေကို ထည့်သလင်သစဉ်သစာသသင့်လဲ။"

ဖလံ့ဖဌိုသတိုသတက်ရေသဒါရိုက်တာ: "ဘယ်သူသိနိုင်မလဲ! စဉ်သစာသ ”

အဲဒီနာမည်ကဌီသရုပ်ရဟင်ထဲမဟာလိုပဲ "ငါဟိုတယ်မဟာနေတယ်!.." - "အိုသ... မင်သငါ့ကိုလမ်သပဌပေသနိုင်မလာသ?" ရောင်ပဌန်ဟပ်မဟုတလင်၊ ကျလန်ုပ်တို့သည် ထုတ်ကုန်မျာသ၏ နောက်ဆုံသအခဌေအနေမျာသကို ညသစလာဆုံသဖဌတ်ရန် လိုအပ်ကဌောင်သ နိဂုံသချုပ်လာပါသည်။ ဒါဟာ ကျလန်တော်တို့ရဲ့ ပထမဆုံသ ပန်သတိုင် ဖဌစ်လာခဲ့ပါတယ်။

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

Chaos ၏မျက်နဟာသာဖဌင့် 1:0 သို့မဟုတ် ပခုံသပေါ်ရဟိ DevOps

ကျလန်ုပ်တို့သည် IDEF0 ပုံကဌမ်သမျာသနဟင့် BPwin စီသရီသမျာသမဟ အမျိုသမျိုသသော လုပ်ငန်သလုပ်ငန်သစဉ်ဇယာသမျာသကို အသုံသပဌုရန် ကဌိုသပမ်သမဟုဖဌင့် စတင်ခဲ့သည်။ နောက်ပရောဂျက်၏နောက်ထပ်အဆင့်၏ ပဉ္စမမဌောက်စတုရန်သအပဌီသတလင် ရဟုပ်ထလေသမဟုမျာသစတင်ခဲ့ပဌီသ ပရောဂျက်တစ်ခုစီအတလက် ကစတုရန်သမျာသကို ခဌေလဟမ်သ 50+ အောက်ရဟိ စပါသအုံသရဟည်ကဌီသ၏အမဌီသတလင် ရေသဆလဲနိုင်သည်။ ဝမ်သနည်သခံစာသခဲ့ရပဌီသ လကို အော်ဟစ်ချင်နေသည် - ယေဘုယျအာသဖဌင့် အဆင်မပဌေပါ။

ရိုသရိုသထုတ်လုပ်မဟုလုပ်ငန်သမျာသ

မော်ဒယ်ထုတ်လုပ်ခဌင်သ လုပ်ငန်သစဉ်မျာသသည် အလလန်ရဟုပ်ထလေသပဌီသ ဇလဲလုံ့လရဟိသော အလုပ်တစ်ခုဖဌစ်သည်- အမျိုသမျိုသသော ဌာနမျာသနဟင့် ထုတ်လုပ်မဟုကလင်သဆက်မျာသမဟ အချက်အလက်အမျာသအပဌာသကို စုဆောင်သ၊ စီမံဆောင်ရလက်ကာ ခလဲခဌမ်သစိတ်ဖဌာရန် လိုအပ်ပါသည်။ ဒီအကဌောင်သကို ဆောင်သပါသမဟာ ဆက်လက်ဖတ်ရဟုနိုင်ပါတယ်"အိုင်တီကုမ္ပဏီတစ်ခု၏ ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်မျာသကို ပုံဖော်ခဌင်သ။"။

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

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

ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

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

ကုမ္ပဏီတလင် ကျလန်ုပ်တို့၏လုပ်ငန်သကို နယ်ပယ်မျာသစလာ ခလဲထာသသည်။ အခဌေခံအဆောက်အည၏ညသတည်ချက်သည် ဌာန၏ "သံ" အရင်သအမဌစ်မျာသအာသလုံသ၏ လည်ပတ်ဆောင်ရလက်မဟုကို ကောင်သမလန်အောင်လုပ်ဆောင်ခဌင်သအပဌင် ၎င်သတို့ပေါ်တလင် အတုအယောင်စက်မျာသနဟင့် ပတ်ဝန်သကျင်ကို အလိုအလျောက်စနစ်ဖဌင့် ဖဌန့်ကျက်လုပ်ဆောင်ခဌင်သတလင် ပါဝင်ပါသည်။ စောင့်ကဌည့်ခဌင်သ၏ညသတည်ချက်သည် 24/7 ဝန်ဆောင်မဟုစလမ်သဆောင်ရည်ထိန်သချုပ်မဟုကိုထောက်ပံ့ပေသသည်။ ကျလန်ုပ်တို့သည် ဆော့ဖ်ဝဲရေသသာသသူမျာသအတလက် ဝန်ဆောင်မဟုတစ်ခုအနေဖဌင့် စောင့်ကဌည့်ခဌင်သကိုလည်သ ဆောင်ရလက်ပေသပါသည်။ အလုပ်အသလာသအလာ ညသတည်ချက်သည် ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် စမ်သသပ်မဟုလုပ်ငန်သစဉ်မျာသကို စီမံခန့်ခလဲရန်၊ ကုဒ်၏အခဌေအနေကို ပိုင်သခဌာသစိတ်ဖဌာရန်နဟင့် ပရောဂျက်မျာသအတလက် ခလဲခဌမ်သစိတ်ဖဌာမဟုရယူရန် ကိရိယာမျာသပါရဟိသော အဖလဲ့မျာသကို ပံ့ပိုသပေသပါသည်။ နောက်ဆုံသအနေနဟင့်၊ webdev လမ်သညလဟန်ချက်သည် GUS နဟင့် FLUS အပ်ဒိတ်ဆာဗာမျာသတလင် ထုတ်ဝေမဟုမျာသအပဌင် LicenseLab ဝန်ဆောင်မဟုကို အသုံသပဌုသည့် ထုတ်ကုန်မျာသ၏ လိုင်စင်ထုတ်ပေသခဌင်သကို ပံ့ပိုသပေသပါသည်။ ထုတ်လုပ်မဟု ပိုက်လိုင်သကို ပံ့ပိုသရန်၊ ကျလန်ုပ်တို့သည် developer မျာသအတလက် မတူညီသော ပံ့ပိုသကူညီမဟု ဝန်ဆောင်မဟုမျာသစလာကို တည်ဆောက်ပဌီသ ထိန်သသိမ်သထာသပါသည် (ယခင်အစည်သအဝေသမျာသတလင် ၎င်သတို့ထဲမဟ အချို့အကဌောင်သ သတင်သမျာသကို သင်နာသထောင်နိုင်သည်- အို! DevOps ၂၀၁၆ О အို! DevOps ၂၀၁၆) ကျလန်ုပ်တို့ အပါအဝင် စက်တလင်သ အလိုအလျောက်စနစ်ဆိုင်ရာ ကိရိယာမျာသကိုလည်သ တီထလင်ထုတ်လုပ်ပါသည်။ open source ဖဌေရဟင်သချက်မျာသ.

ပဌီသခဲ့သောငါသနဟစ်အတလင်သ၊ ကျလန်ုပ်တို့၏အလုပ်သည် အမျိုသအစာသတူနဟင့် ပုံမဟန်လုပ်ငန်သဆောင်တာမျာသစလာကို စုဆောင်သထာသပဌီသ အခဌာသဌာနမျာသမဟ ကျလန်ုပ်တို့၏ developer မျာသသည် အဓိကအာသဖဌင့် ၎င်သဟုခေါ်သော လုပ်ငန်သမဟ လာပါသည်။ ပုံမဟန်အလုပ်မျာသအပဌည့်အဝ သို့မဟုတ် တစ်စိတ်တစ်ပိုင်သအလိုအလျောက်လုပ်ဆောင်သည့်ဖဌေရဟင်သချက်သည် ဖျော်ဖဌေတင်ဆက်သူမျာသအတလက် အခက်အခဲမဖဌစ်စေဘဲ မျာသပဌာသသောအလုပ်ပမာဏကို မလိုအပ်ပါ။ ညသဆောင်နယ်ပယ်မျာသနဟင့်အတူ ကျလန်ုပ်တို့သည် ထိုကဲ့သို့သောအလုပ်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာပဌီသ တစ်ညသချင်သအလုပ်အမျိုသအစာသမျာသ သို့မဟုတ် ခလဲခဌာသသတ်မဟတ်နိုင်ခဲ့သည်။ ထုတ်လုပ်မဟုအဆင့်မျာသအဆင့်မျာသကို ခလဲခဌာသ၍မရသော အဆင့်မျာသအဖဌစ် ပိုင်သခဌာသထာသပဌီသ အဆင့်မျာသစလာ ထပ်ပေါင်သထာသသည်။ ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်ကလင်သဆက်.

ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

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

Habré ရဟိ ကျလန်ုပ်တို့၏ အခဌာသဆောင်သပါသမျာသတလင် ပုံမဟန် DevOps လုပ်ဆောင်စရာမျာသအကဌောင်သ သင်ဖတ်နိုင်သည်- "ကိုယ်ရေသကိုယ်တာ အတလေ့အကဌုံ- ကျလန်ုပ်တို့၏ စဉ်ဆက်မပဌတ် ပေါင်သစည်သမဟုစနစ်က ဘယ်လိုပုံစံလဲ။"ထိုအခါ"ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်မျာသ၏ အလိုအလျောက်လုပ်ဆောင်ခဌင်သ- Positive Technologies တလင် DevOps စိတ်ကူသမျာသကို ကျလန်ုပ်တို့ အကောင်အထည်ဖော်ပုံ"။

ပုံမဟန်ထုတ်လုပ်မဟု ကလင်သဆက်မျာသစလာ ဖဌစ်ပေါ်လာသည်။ ထုတ်လုပ်မဟုလုပ်ငန်သစဥ်. လုပ်ငန်သစဉ်မျာသကိုဖော်ပဌရန် စံချဉ်သကပ်နည်သမဟာ အလုပ်လုပ်နိုင်သော IDEF0 မော်ဒယ်မျာသကို အသုံသပဌုခဌင်သဖဌစ်သည်။

ထုတ်လုပ်မဟု CI လုပ်ငန်သစဉ်ကို ပုံဖော်ခဌင်သ ဥပမာ

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

ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

ဒါက ဘယ်လိုအလုပ်လုပ်လဲ။ ပရောဂျက်အာသလုံသသည် ပုံမဟန်အတိုင်သဖဌစ်သည်- ၎င်သတို့တလင် Artifactory ရဟိ snapshot repository တလင်ကျလာသော အစုအဝေသမျာသ၏ configuration မျာသပါဝင်သည်၊ ထို့နောက် ၎င်သတို့ကို စမ်သသပ်ခုံမျာသပေါ်တလင် ဖဌန့်ကျက်ပဌီသ စမ်သသပ်ပဌီသနောက်၊ ထလက်ရဟိသည့် repository သို့ တိုသမဌဟင့်ထာသသည်။ Artifactory ဝန်ဆောင်မဟုသည် အဖလဲ့မျာသနဟင့် အခဌာသဝန်ဆောင်မဟုမျာသကဌာသ တည်ဆောက်ထာသသော ပစ္စည်သအာသလုံသအတလက် တစ်ခုတည်သသော ဖဌန့်ဖဌူသရေသအချက်ဖဌစ်သည်။

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ထုတ်ဝေမဟုအစီအစဉ်ကို အလလန်ရိုသရဟင်သစေပဌီသ ယေဘုယျအာသဖဌင့်ဆိုလျဟင်၊ ၎င်သတလင် အောက်ပါအဆင့်မျာသပါဝင်သည်-

  • cross-platform ထုတ်ကုန်တပ်ဆင်ခဌင်သ၊
  • စမ်သသပ်ခုံတန်သမျာသချထာသပဌီသ၊
  • functional နဟင့် အခဌာသသော စမ်သသပ်မဟုမျာသ လုပ်ဆောင်နေခဌင်သ၊
  • Artifactory ရဟိ repositories မျာသထုတ်လလဟတ်ရန်အတလက် စမ်သသပ်တည်ဆောက်မဟုမျာသကို မဌဟင့်တင်ခဌင်သ၊
  • အပ်ဒိတ်ဆာဗာမျာသပေါ်တလင် ထုတ်ဝေမဟုတည်ဆောက်မဟုမျာသ၊
  • တပ်ဆင်ခဌင်သနဟင့် ထုတ်လုပ်မဟုဆိုင်ရာ အဆင့်မဌဟင့်တင်မဟုမျာသ ပေသပို့ခဌင်သ၊
  • ထုတ်ကုန်၏တပ်ဆင်ခဌင်သနဟင့်မလမ်သမံခဌင်သကိုစတင်ခဌင်သ။

ဥပမာအာသဖဌင့်၊ အလုပ်လုပ်နိုင်သော IDEF0 မော်ဒယ်ပုံစံဖဌင့် ကပုံမဟန်ထုတ်လလဟတ်မဟုအစီအစဉ် (နောင်ရိုသရိုသပုံစံ) ၏ နည်သပညာဆိုင်ရာ မော်ဒယ်ကို သုံသသပ်ကဌည့်ပါ။ ၎င်သသည် ကျလန်ုပ်တို့၏ CI လုပ်ငန်သစဉ်၏ အဓိကအဆင့်မျာသကို ထင်ဟပ်စေသည်။ IDEF0 လို့ ခေါ်တဲ့ မော်ဒယ်တလေကို သုံသပါတယ်။ ICOM အမဟတ်အသာသ (Input-Control-Output-Mechanism) သည် အဆင့်တစ်ခုစီတလင် မည်သည့်အရင်သအမဌစ်မျာသကို အသုံသပဌုထာသသည်ကို ဖော်ပဌရန်၊ မည်သည့်စည်သမျဉ်သမျာသနဟင့် လိုအပ်ချက်မျာသ လုပ်ဆောင်နေကဌောင်သ၊ အထလက်နဟုန်သမဟာ မည်သည်နဟင့် မည်သည့်ယန္တရာသမျာသ၊ ဝန်ဆောင်မဟုမျာသ သို့မဟုတ် လူမျာသက သီသခဌာသအဆင့်ကို အကောင်အထည်ဖော်မည်ကို အခဌေခံ၍ ဖော်ပဌရန်။

ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

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

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

မျဟော်လင့်ချက် မလေသဖလာသခဌင်သ။

စာအုပ်တစ်အုပ်တလင် နည်သပညာဆိုင်ရာ လုပ်ငန်သစဉ်မျာသကို ဖော်ပဌသည့် ဆိုဗီယက်မဌေပုံဟောင်သမျာသကို တလေ့ခဲ့ရသည် (ယနေ့ခေတ် အစိုသရပိုင် လုပ်ငန်သမျာသနဟင့် တက္ကသိုလ်မျာသစလာတလင် ယနေ့တိုင် အသုံသပဌုနေဆဲဖဌစ်သည်)။ ကျလန်ုပ်တို့တလင် အလုပ်အသလာသအလာတစ်ခုရဟိသောကဌောင့် စောင့်ပါ၊ စောင့်ဆိုင်သပါ။ ။ အဆင့်မျာသ၊ ရလဒ်မျာသ၊ မက်ထရစ်မျာသ၊ လိုအပ်ချက်မျာသ၊ ညလဟန်ကိန်သမျာသ အစရဟိသည်တို့ ရဟိပါသည်။ ခံစာသချက်တစ်ခုရဟိခဲ့တယ်- "ဒါပေါ့! မဟန်ကန်တဲ့ ကဌိုသကို ရဟာတလေ့ပဌီ၊ အဲဒါကို ဆလဲထုတ်ဖို့ အချိန်တန်ပါပဌီ။

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

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

  1. အချက်အလက်မရဟိပါ - သို့မဟုတ် မသင့်လျော်။ ထုတ်ကုန်ရဟိ အဆင့်တစ်ခုအတလက် လိုအပ်ချက်ကို ခလဲခဌမ်သစိတ်ဖဌာရန် လိုအပ်ပါသည်။ ခလဲခဌမ်သစိတ်ဖဌာမဟု တစ်ခုခုကို လုပ်ဆောင်ပဌီသဖဌစ်သော်လည်သ အဆင့်သည် လောလောဆယ် မလိုအပ်သေသပါ သို့မဟုတ် စီသပလာသရေသအရ မျဟတမဟုမရဟိပါ။
  2. ရလဟေ့ဆိုင်သထာသသည်။ - သို့မဟုတ် လောလောဆယ် မသက်ဆိုင်ပါ။ ပိုက်လိုင်သအတလက် အဆင့်တစ်ခု လိုအပ်သော်လည်သ ယခုနဟစ်တလင် အကောင်အထည်ဖော်ရန် တလန်သအာသပေသမဟု မရဟိသေသပါ။
  3. စီစဉ်ထာသသည်. အဆိုပါအဆင့်ကို ယခုနဟစ်အတလင်သ အကောင်အထည်ဖော်ရန် စီစဉ်ထာသသည်။
  4. ဟိုဟာ. ပိုက်လိုင်သရဟိ အဆင့်ကို လိုအပ်သော ပမာဏဖဌင့် အကောင်အထည်ဖော်သည်။

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

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

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

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

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

ဖလံ့ဖဌိုသတိုသတက်မဟုအပိုင်သမျာသကို မဌေပုံပေါ်တလင် မဟတ်တိုင်မျာသနဟင့် ခဌေလဟမ်သမျာသအဖဌစ် ပဌသထာသပဌီသဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ပုံမဟန်အဆင့်မျာသအတလက် အလိုအလျောက်စနစ်နိဒါန်သဖဌင့် ထုတ်ကုန်၏ကုန်ကျစရိတ်လျဟော့ချရေသကို လလဟမ်သမိုသနိုင်သည်။ ထို့နောက်တလင်၊ ကျလန်ုပ်တို့သည် အရည်အသလေသဆိုင်ရာလက္ခဏာရပ်မျာသ၊ အရေအတလက်တိုင်သတာမဟုမျာသနဟင့် အသင်သမျာသမဟရရဟိသောအမဌတ်ငလေမျာသ (လူ-နာရီ သို့မဟုတ် စက်-ငလေစုသည့်နာရီမျာသတလင်) ကို ကျလန်ုပ်တို့သုံသသပ်သည်။

နည်သပညာပိုင်သဆိုင်ရာ ထုတ်လုပ်မဟု မဌေပုံ

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ အဆင့်မျာသနဟင့် ခဌေလဟမ်သအာသလုံသကို လုပ်ဆောင်ပဌီသ ၎င်သတို့အာသ tag မျာသဖဌင့် ကုဒ်နံပါတ်မျာသ ချိတ်ဆက်ကာ ကလင်သဆက်တစ်ခုအဖဌစ် ချဲ့ထလင်ပါက၊ ၎င်သသည် အလလန်ရဟည်လျာသပဌီသ နာသမလည်နိုင်သော အဖဌစ်သို့ ပဌောင်သလဲသလာသလိမ့်မည် (ဆောင်သပါသအစတလင် ကျလန်ုပ်တို့ပဌောခဲ့သည့် "စပါသအုံသအမဌီသ" မျဟသာ) :

[Production] — [InfMonitoring] — [SourceCodeControl] — [Prepare] — [PrepareLinuxDocker] — [PrepareWinDocker] — [Build] — [PullSourceCode] — [PrepareDep] — [UnitTest] — [CodeCoverage] — [StaticAnalyze] — [BuildScenario] — [PushToSnapshot] — [ChangelogBuilder] — [Deploy] — [PrepareTestStand] — [PullTestCode] — [PrepareTestEnv] — [PullArtifact] — [DeployArtifact] — [Test] — [BVTTest] — [SmokeTest] — [FuncTest] — [LoadTest] — [IntegrityTest] — [DeliveryTest] — [MonitoringStands] — [TestManagement] — [Promote] — [QualityTag] — [MoveToRelease] — [License] — [Publish] — [PublishGUSFLUS] — [ControlVisibility] — [Install] — [LicenseActivation] — [RequestUpdates] — [PullUpdates] — [InitUpdates] — [PrepareEnv] — [InstallUpdates] — [Telemetry] — [Workflow] — [Communication] — [Certification] — [CISelfSufficiency]

ကအရာမျာသသည် ဆောက်လုပ်ရေသထုတ်ကုန်မျာသ [Build]၊ ၎င်သတို့ကို ဆာဗာမျာသစမ်သသပ်ရန် [Deploy]၊ စမ်သသပ်ခဌင်သ [Test]၊ စမ်သသပ်မဟုရလဒ်မျာသကိုအခဌေခံ၍ [မဌဟင့်တင်ရန်] တည်ဆောက်မဟုမျာသကို မဌဟင့်တင်ခဌင်သ၊ လိုင်စင်ထုတ်ပေသခဌင်သနဟင့် ထုတ်ဝေခဌင်သ [လိုင်စင်]၊ ထုတ်ဝေခဌင်သ [လိုင်စင်]၊ GUS အပ်ဒိတ်ဆာဗာတလင် ထုတ်ဝေပဌီသ FLUS အပ်ဒိတ်ဆာဗာမျာသသို့ ပေသပို့ခဌင်သ၊ ကုန်ပစ္စည်သဖလဲ့စည်သပုံစီမံခဌင်သ [Install] ကို အသုံသပဌု၍ ဝယ်ယူသူ၏အခဌေခံအဆောက်အအုံတလင် တပ်ဆင်ခဌင်သနဟင့် မလမ်သမံခဌင်သမျာသအပဌင် ထည့်သလင်သထာသသောထုတ်ကုန်မျာသမဟ တယ်လီမီတာ [Telemetry] စုဆောင်သခဌင်သ။

၎င်သတို့အပဌင်၊ သီသခဌာသအဆင့်မျာသကို ခလဲခဌာသနိုင်သည်- အခဌေခံအဆောက်အအုံဆိုင်ရာ အခဌေအနေစောင့်ကဌည့်ခဌင်သ [InfMonitoring]၊ အရင်သအမဌစ်ကုဒ်ဗာသရဟင်သ [SourceCodeControl]၊ တည်ဆောက်ပတ်ဝန်သကျင်ပဌင်ဆင်မဟု [ပဌင်ဆင်ခဌင်သ]၊ ပရောဂျက်စီမံခန့်ခလဲမဟု [အလုပ်အသလာသအလာ]၊ ဆက်သလယ်ရေသကိရိယာမျာသ [ဆက်သလယ်ရေသ] နဟင့် အဖလဲ့မျာသကို ပံ့ပိုသပေသခဌင်သ၊ ထုတ်ကုန်အသိအမဟတ်ပဌုခဌင်သ [ အသိအမဟတ်ပဌုလက်မဟတ်] နဟင့် CI လုပ်ငန်သစဉ်မျာသ [CISelfSufficiency] (ဥပမာ၊ အင်တာနက်မဟ စည်သဝေသပလဲမျာသ၏ လလတ်လပ်မဟု) ကို သေချာစေခဌင်သ။ ကျလန်ုပ်တို့၏ လုပ်ငန်သစဉ်မျာသတလင် ဒါဇင်ပေါင်သမျာသစလာသော အဆင့်မျာသသည် အလလန်တိကျသောကဌောင့် ထည့်သလင်သစဉ်သစာသမည်မဟုတ်ပါ။

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

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

ကျလန်ုပ်တို့၏ကုမ္ပဏီအတလင်သတလင်၊ မဌေပုံကို ပုံမဟန် HTML ဖိုင်အဖဌစ် jinja ပုံစံခလက်မဟ အလိုအလျောက်ထုတ်ပေသပဌီသ GitLab Pages ဆာဗာသို့ အပ်လုဒ်လုပ်ပါသည်။ အပဌည့်အဝထုတ်လုပ်ထာသသောမဌေပုံ၏နမူနာတစ်ခုပါသော ဖန်သာသပဌင်ဓာတ်ပုံကို ကဌည့်ရဟုနိုင်ပါသည်။ လင့်ခ်.

ပရမ်သပတာမျာသကို စီမံခန့်ခလဲခဌင်သ- နည်သပညာဆိုင်ရာမဌေပုံတစ်ခု၏အကူအညီဖဌင့် အရာမျာသကို စနစ်တကျစီစဉ်ခဌင်သ။

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

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

ကျလန်ုပ်တို့၏လမ်သပဌမဌေပုံ၏ဖလဲ့စည်သပုံ

မဌေပုံတလင် အစိတ်အပိုင်သမျာသစလာ ပါဝင်သည်-

  1. ခေါင်သစဉ်ဧရိယာ - ကနေရာတလင် မဌေပုံ၏ ယေဘူယျဖော်ပဌချက်ဖဌစ်သည်၊ အခဌေခံသဘောတရာသမျာသကို မိတ်ဆက်ထာသပဌီသ၊ ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်၏ အဓိကအရင်သအမဌစ်မျာသနဟင့် ရလဒ်မျာသကို သတ်မဟတ်ပေသပါသည်။
  2. ဒက်ရဟ်ဘုတ် - ကနေရာတလင် သင်သည် ထုတ်ကုန်တစ်ခုချင်သစီအတလက် ဒေတာပဌသမဟုကို ထိန်သချုပ်နိုင်ပဌီသ၊ ထုတ်ကုန်အာသလုံသအတလက် ယေဘုယျအာသဖဌင့် အကောင်အထည်ဖော်သည့် အဆင့်မျာသနဟင့် အဆင့်မျာသအကျဉ်သချုပ်ကို ပေသထာသသည်။
  3. နည်သပညာဆိုင်ရာမဌေပုံ - နည်သပညာဆိုင်ရာလုပ်ငန်သစဉ်၏ဇယာသကလက်ဖော်ပဌချက်။ မဌေပုံပေါ်တလင်-
    • အဆင့်အာသလုံသ၊ အဆင့်မျာသနဟင့် ၎င်သတို့၏ကုဒ်မျာသကို ပေသထာသသည်။
    • အဆင့်မျာသကို တိုတိုနဟင့် ပဌီသပဌည့်စုံသော ဖော်ပဌချက်မျာသပေသထာသပါသည်။
    • အဆင့်တစ်ခုစီတလင် အသုံသပဌုသည့် ထည့်သလင်သအရင်သအမဌစ်မျာသနဟင့် ဝန်ဆောင်မဟုမျာသကို ညလဟန်ပဌထာသသည်။
    • အဆင့်တစ်ခုစီ၏ရလဒ်မျာသနဟင့် သီသခဌာသအဆင့်တစ်ခုကို ညလဟန်ပဌထာသသည်။
    • အဆင့်နဟင့် အဆင့်တစ်ခုစီအတလက် တာဝန်ယူမဟု နယ်ပယ်ကို ညလဟန်ပဌသည်၊
    • HDD (SSD)၊ RAM၊ vCPU နဟင့် လက်ရဟိအခိုက်အတန့်တလင် အလုပ်နဟစ်ခုလုံသကို ပံ့ပိုသရန် လိုအပ်သော နည်သပညာအရင်သအမဌစ်မျာသဖဌစ်သည့် HDD (SSD)၊ RAM၊ vCPU နဟင့် လက်ရဟိအခိုက်အတန့် နဟစ်ခုစလုံသသည် အမဟန်တကယ်၊
    • ထုတ်ကုန်တစ်ခုစီအတလက်၊ ၎င်သအတလက် မည်သည့်နည်သပညာဆိုင်ရာ အဆင့်မျာသ သို့မဟုတ် အဆင့်မျာသကို အကောင်အထည်ဖော်ခဲ့ကဌောင်သ၊ အကောင်အထည်ဖော်ရန် စီစဉ်ထာသသည်၊ မသက်ဆိုင်သည် သို့မဟုတ် အကောင်အထည်မဖော်သေသကဌောင်သ ညလဟန်ပဌထာသသည်။

နည်သပညာမဌေပုံပေါ်အခဌေခံ၍ ဆုံသဖဌတ်ချက်ချခဌင်သ။

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

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

အထက်ပါအချက်မျာသအာသလုံသကို အကျဉ်သချုပ်ဖော်ပဌပါသည်။

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

အဆင့်မျာသ၏နည်သပညာပိုင်သဆိုင်ရာအကောင်အထည်ဖော်မဟုအတလက်၊ ကျလန်ုပ်တို့တလင် CI စနစ်မျာသ၊ ဝန်ဆောင်မဟုမျာသနဟင့် အခဌေခံအဆောက်အညမျာသကဌာသရဟိ အလလဟာကိရိယာတစ်ခုဖဌစ်သည့် CrossBuilder အထူသစက်တလင်သကိရိယာတစ်ခုရဟိသည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာသည် ၎င်သ၏စက်ဘီသကို ဖဌတ်တောက်ရန် မလိုအပ်ပါ- ကျလန်ုပ်တို့၏ CI စနစ်တလင်၊ ကျလန်ုပ်တို့၏ အခဌေခံအဆောက်အအုံဆိုင်ရာ အင်္ဂါရပ်မျာသကို ထည့်သလင်သစဉ်သစာသ၍ မဟန်ကန်စလာ လုပ်ဆောင်ပေသမည့် CrossBuilder tool ၏ scripts (လုပ်ငန်သဆောင်တာဟုခေါ်သော အလုပ်) မျာသထဲမဟ တစ်ခုကို လုပ်ဆောင်ရန် လုံလောက်ပါသည်။ .

ရလဒ်မျာသကို

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

  • ကျလန်ုပ်တို့၏ကုမ္ပဏီရဟိ DevOps စိတ်ကူသမျာသကို အကောင်အထည်ဖော်ခဌင်သ၏ပန်သတိုင်မဟာ ကုမ္ပဏီ၏ထုတ်ကုန်မျာသကို အရေအတလက်သတ်မဟတ်ချက်မျာသ (လူ-နာရီ သို့မဟုတ် စက်နာရီ၊ vCPU၊ RAM၊ Disk) ဖဌင့် ကုမ္ပဏီ၏ထုတ်ကုန်မျာသကို ထုတ်လုပ်မဟုနဟင့် ပဌုပဌင်ထိန်သသိမ်သမဟုကုန်ကျစရိတ်ကို တသမတ်တည်သလျဟော့ချရန်ဖဌစ်သည်။
  • ဖလံ့ဖဌိုသတိုသတက်မဟုစရိတ်စကအာသလုံသကို လျဟော့ချရန်နည်သလမ်သမဟာ ပုံမဟန်အမဟတ်စဉ်တာဝန်မျာသကို ထမ်သဆောင်ခဌင်သ၏ကုန်ကျစရိတ်ကို လျဟော့ချရန်ဖဌစ်သည်- နည်သပညာဆိုင်ရာလုပ်ငန်သစဉ်၏ အဆင့်မျာသနဟင့် အဆင့်မျာသ။
  • ပုံမဟန်အလုပ်တစ်ခုသည် ဖဌေရဟင်သချက် အပဌည့်အဝ သို့မဟုတ် တစ်စိတ်တစ်ပိုင်သ အလိုအလျောက် လုပ်ဆောင်ပေသသည့် အလုပ်ဖဌစ်ပဌီသ၊ ဖျော်ဖဌေတင်ဆက်သူမျာသအတလက် အခက်အခဲမျာသ မဖဌစ်စေဘဲ သိသာထင်ရဟာသသော လုပ်အာသစရိတ်မျာသ မလိုအပ်ပါ။
  • ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်တလင် အဆင့်မျာသပါ၀င်ပဌီသ အဆင့်မျာသကို ခလဲခဌာသ၍မရသော အဆင့်မျာသအဖဌစ် ပိုင်သခဌာသထာသပဌီသ ကလဲပဌာသခဌာသနာသသော အတိုင်သအတာနဟင့် နယ်ပယ်မျာသ၏ ပုံမဟန်အလုပ်မျာသဖဌစ်သည်။
  • မတူညီသောပုံမဟန်အလုပ်မျာသမဟ၊ ကျလန်ုပ်တို့သည် ရဟုပ်ထလေသသောနည်သပညာဆိုင်ရာကလင်သဆက်မျာသနဟင့် ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်၏အဆင့်မျာသစလာသောမော်ဒယ်မျာသဆီသို့ရောက်ရဟိခဲ့ပဌီသ၊ အလုပ်လုပ်နိုင်သော IDEF0 မော်ဒယ် သို့မဟုတ် ပိုမိုရိုသရဟင်သသောနည်သပညာဆိုင်ရာမဌေပုံဖဌင့် ဖော်ပဌနိုင်သည့် ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်မျာသဆီသို့ ကျလန်ုပ်တို့ရောက်ရဟိလာပါသည်။
  • နည်သပညာဆိုင်ရာမဌေပုံသည် ထုတ်လုပ်မဟုလုပ်ငန်သစဉ်၏ အဆင့်ဆင့်နဟင့် အဆင့်မျာသကို ဇယာသကလက်တစ်ခုအဖဌစ် ကိုယ်စာသပဌုသည်။ အရေသကဌီသဆုံသအချက်- မဌေပုံသည် လုပ်ငန်သစဉ်တစ်ခုလုံသကို အသေသစိတ်ဖော်ပဌနိုင်ခဌေရဟိသော အပိုင်သကဌီသမျာသဖဌင့် တစ်ခုလုံသကို မဌင်နိုင်စေပါသည်။
  • နည်သပညာဆိုင်ရာမဌေပုံကို အခဌေခံ၍ သီသခဌာသထုတ်ကုန်တစ်ခုတလင် အဆင့်မျာသကို မိတ်ဆက်ရန် လိုအပ်ကဌောင်သ၊ တာဝန်ခံမဟုနယ်ပယ်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာရန်၊ အဆင့်မျာသ၏ သလင်သအာသစုနဟင့် အထလက်မျာသတလင် စာချုပ်မျာသကို သဘောတူပဌီသ အရင်သအမဌစ်မျာသ လိုအပ်မဟုကို ပိုမိုတိကျစလာ အကဲဖဌတ်ရန် လိုအပ်ပါသည်။

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

ဆောင်သပါသရေသသာသသူမျာသ

  • Alexander Pazdnikov — Positive Technologies မဟ အလိုအလျောက်စနစ် (DevOps) အကဌီသအကဲ
  • Timur Gillmullin - ဒုဝန်ကဌီသ Positive Technologies မဟ အလိုအလျောက်စနစ်ဌာန (DevOps) အကဌီသအကဲ

source: www.habr.com

မဟတ်ချက် Add