ဖလံ့ဖဌိုသတိုသတက်မဟုကို အရဟိန်မဌဟင့်ရန် လုပ်ငန်သဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မျာသသည် GitLab နဟင့် အရေသကဌီသဆုံသ ChatOps ကို အသုံသပဌုနေပုံ

ထပ်မံနဟုတ်ခလန်သဆက်ပါတယ်! OTUS မဟ သင်တန်သအသစ်ကို ဖေဖော်ဝါရီလတလင် စတင်ပါမည်။ "AWS, Azure နဟင့် Gitlab တလင် CI/CD". သင်တန်သစတင်မည့်အချိန်ကို ကဌိုတင်မျဟော်လင့်ထာသသည့်အတလက် ကျလန်ုပ်တို့သည် အသုံသဝင်သောအကဌောင်သအရာမျာသကို ဘာသာပဌန်ပေသပါသည်။

DevOps ကိရိယာအစုံအလင်၊ open source messenger နဟင့် ChatOps - သင် ဘယ်လိုမဟ အချစ်မခံရနိုင်ပါဘူသ။

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

GitLab အဘယ်ကဌောင့်နည်သ

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

ChatOps က ဘာကဌောင့် အရေသကဌီသဆုံသလဲ။

အရေသကဌီသဆုံသအနေဖဌင့် ကျလန်ုပ်တို့သည် GitLab ၏ပရိသတ်ကဌီသဖဌစ်သည်၊ ထို့ကဌောင့် Mattermost သည် GitLab Omnibus ဖဌင့်ပို့ဆောင်ပဌီသ Mattermost ဖဌင့်လလယ်ကူစလာလည်ပတ်ကဌောင်သသေချာစေရန်ကျလန်ုပ်တို့သည်လုပ်ဆောင်ပါသည်။ GitLab.

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

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

အရေသကဌီသဆုံသ + GitLab

DevOps ကိရိယာအစုံအလင်၊ open source messenger နဟင့် ChatOps - သင် ဘယ်လိုမဟ အချစ်မခံရနိုင်ပါဘူသ။ GitLab နဟင့် Mattermost ဖဌင့်၊ developer မျာသသည် ၎င်သတို့၏ DevOps လုပ်ငန်သစဉ်ကို ရိုသရဟင်သစေရုံသာမက အဖလဲ့၀င်မျာသမဟ ပဌဿနာမျာသ ဆလေသနလေသခဌင်သ၊ ပူသပေါင်သဆောင်ရလက်ခဌင်သနဟင့် ဆုံသဖဌတ်ချက်မျာသချသည့် တူညီသော chat interface သို့ ရလဟေ့နိုင်သည်။

ကသည်မဟာ ChatOps ကို အသုံသပဌု၍ ကုန်ထုတ်စလမ်သအာသမဌဟင့်တင်ရန် Mattermost နဟင့် GitLab ကို ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မျာသက မည်သို့အသုံသပဌုနေကဌပုံ ဥပမာအချို့ဖဌစ်သည်။

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

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

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

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

ထိုအချိန်တလင် itk မဟ developer Romain Maneski သည် Mattermost အတလက် GitLab ပလပ်အင်ကို စတင်ရေသသာသခဲ့ပဌီသ နောက်ပိုင်သတလင် ၎င်သ၏အဖလဲ့သည် Mattermost ရဟိ GitLab အကဌောင်သကဌာသချက်မျာသကို စာရင်သသလင်သရန်နဟင့် ပဌဿနာအသစ်မျာသနဟင့် ပဌန်လည်သုံသသပ်ရန် တောင်သဆိုချက်မျာသကို တစ်နေရာတည်သတလင် လက်ခံရရဟိစေခဲ့သည်။

ယနေ့တလင် plugin ကိုထောက်ခံပါတယ်။:

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

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

ဖလံ့ဖဌိုသတိုသတက်မဟုကို အရဟိန်မဌဟင့်ရန် လုပ်ငန်သဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မျာသသည် GitLab နဟင့် အရေသကဌီသဆုံသ ChatOps ကို အသုံသပဌုနေပုံ

ဆော့ဖ်ဝဲဖလံ့ဖဌိုသတိုသတက်ရေသကုမ္ပဏီသည် ကုဒ်နဟင့်ဖလဲ့စည်သပုံဆိုင်ရာပဌောင်သလဲမဟုမျာသတလင် ပိုမိုပလင့်လင်သမဌင်သာမဟုနဟင့် မဌင်နိုင်စလမ်သဖဌင့် ကုန်ထုတ်စလမ်သအာသကို တိုသတက်စေသည်။

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

GitLab ကို ၎င်သတို့၏အဖလဲ့မဟ ကဌီသကဌီသမာသမာသအသုံသပဌုထာသပဌီသ ၎င်သတို့၏ DevOps အလုပ်အသလာသအလာမျာသတလင် ၎င်သအသုံသပဌုမဟုကို ကဌီသမာသသောအကျိုသကျေသဇူသအဖဌစ်မဌင်သည်။

၎င်သတို့သည် GitLab နဟင့် Mattermost တို့ကို ပေါင်သစပ်ပဌီသ GitLab မဟ ကတိကဝတ်မျာသကို webhooks မဟတစ်ဆင့် Mattermost သို့ ဖိဒ်တစ်ခုအဖဌစ် ပေါင်သစပ်ကာ စီမံခန့်ခလဲမဟုအာသ သတ်မဟတ်ရက်တလင် ကုမ္ပဏီ၌ဖဌစ်ပျက်နေသည့်အရာမျာသကို ငဟက်မျက်မဌင်ရစေမည့် စီမံခန့်ခလဲမဟုမျာသကို ရရဟိစေမည်ဖဌစ်သည်။ ဖလဲ့စည်သမဟုစီမံခန့်ခလဲမဟုနဟင့် ဗာသရဟင်သထိန်သချုပ်မဟု အပ်ဒိတ်မျာသကိုလည်သ ထည့်သလင်သထာသပဌီသ၊ ၎င်သသည် တစ်နေ့တာလုံသအတလင်သပိုင်သ အခဌေခံအဆောက်အအုံနဟင့် စနစ်မျာသတလင် ပဌုလုပ်ခဲ့သော ပဌောင်သလဲမဟုအမျိုသမျိုသ၏ လျဟပ်တစ်ပဌက်ဓာတ်ပုံမျာသကို ပံ့ပိုသပေသပါသည်။

အဖလဲ့သည် အက်ပ်ဖဌစ်ရပ်မျာသအကဌောင်သ အကဌောင်သကဌာသချက်မျာသကို ပေသပို့ရန် သီသခဌာသ “Heartbeat” ချန်နယ်မျာသကိုလည်သ ထည့်သလင်သထာသသည်။ ကမက်ဆေ့ချ်မျာသကို သီသခဌာသ Heartbeat ချန်နယ်မျာသသို့ ပေသပို့ခဌင်သဖဌင့်၊ အဖလဲ့၀င်မျာသကို ပုံမဟန်ချန်နယ်မျာသရဟိ အလုပ်စကာသဝိုင်သမျာသမဟ စိတ်အနဟောင့်အယဟက်ဖဌစ်စေခဌင်သမဟ ရဟောင်ရဟာသနိုင်ပဌီသ၊ အဖလဲ့၀င်မျာသအာသ Heartbeat ချန်နယ်မျာသတလင် တင်ထာသသော မေသခလန်သမျာသသို့ သီသခဌာသပဌောင်သနိုင်စေမည်ဖဌစ်သည်။

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

GitLab နဟင့် အရေသအကဌီသဆုံသ ChatOps မျာသသည် ဖလံ့ဖဌိုသတိုသတက်မဟုကို အရဟိန်မဌဟင့်ရန်အတလက် မဌင်နိုင်စလမ်သနဟင့် ကုန်ထုတ်စလမ်သအာသကို တိုသစေသည်

အရေသအကဌီသဆုံသက လာတာပါ။ GitLab Omnibus အထုပ်GitLab SSO အတလက် ကဌိုတင်ထုပ်ပိုသထာသသော GitLab ပေါင်သစပ်မဟုမျာသနဟင့် PostgreSQL ပံ့ပိုသမဟုအပဌင် စနစ်စောင့်ကဌည့်ခဌင်သနဟင့် လုပ်ဆောင်ချက်စီမံခန့်ခလဲမဟုအတလက် ခလင့်ပဌုသည့် Prometheus ပေါင်သစပ်မဟုတို့ကို ပံ့ပိုသပေသခဌင်သ၊ အဖဌစ်အပျက်တုံ့ပဌန်မဟု. နောက်ဆုံသတလင် Mattermost ကို အသုံသပဌု၍ အသုံသပဌုနိုင်ပါပဌီ။ GitLab Cloud ဇာတိ.

DevOps အဖလဲ့မျာသသည် ယခုအချိန်အထိ ChatOps ရရဟိသည့် အကျိုသကျေသဇူသမျာသနဟင့်အတူ ပိုမိုကောင်သမလန်သောကိရိယာတစ်ခုမျဟ မရရဟိဖူသပါ။ Mattermost ဖဌင့် GitLab Omnibus ကို ထည့်သလင်သပဌီသ သင်ကိုယ်တိုင် စမ်သသုံသကဌည့်ပါ။

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

source: www.habr.com

မဟတ်ချက် Add