ကိုသကာသ- Continuous Integration လုပ်ငန်သစဉ် အလုပ်လုပ်ပုံ

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

ကိုသကာသ- Continuous Integration လုပ်ငန်သစဉ် အလုပ်လုပ်ပုံ
/flickr/ Altug Karakoc / BY CC ကို / ဓာတ်ပုံပဌင်ဆင်ထာသသည်။

သက်တမ်သ

Continuous Integration သည် မကဌာခဏ ပရောဂျက်တည်ဆောက်ခဌင်သနဟင့် ကုဒ်စမ်သသပ်ခဌင်သမျာသ ပါ၀င်သည့် အက်ပ်လီကေသရဟင်သ ဖလံ့ဖဌိုသတိုသတက်မဟုအတလက် ချဉ်သကပ်မဟုတစ်ခုဖဌစ်သည်။

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

Continuous Integration ဟူသော ဝေါဟာရသည် ၁၉၉၁ ခုနဟစ်တလင် စတင်ပေါ်ပေါက်ခဲ့သည်။ UML ဘာသာစကာသကို ဖန်တီသသူမဟ မိတ်ဆက်ခဲ့သည်။ Grady Butch (Grady Booch)။ အင်ဂျင်နီယာသည် CI အယူအဆကို ၎င်သ၏ကိုယ်ပိုင် ဖလံ့ဖဌိုသတိုသတက်မဟုအလေ့အကျင့်၏ တစ်စိတ်တစ်ပိုင်သအဖဌစ် မိတ်ဆက်ခဲ့သည်- Booch နည်သလမ်သ. အရာဝတ္ထု-ဆန်သောစနစ်မျာသကို ဒီဇိုင်သဆလဲသည့်အခါ ဗိသုကာပညာ၏ တိုသမဌင့်မဟုကို မဌဟင့်တင်ခဌင်သဟု ဆိုလိုသည်။ Gradi သည် စဉ်ဆက်မပဌတ်ပေါင်သစည်သမဟုအတလက် မည်သည့်လိုအပ်ချက်မျာသကိုမျဟ ဖော်ပဌမထာသပါ။ ဒါပေမယ့် နောက်ပိုင်သ သူ့စာအုပ်ထဲမဟာ "Applications မျာသဖဌင့် Object-Oriented Analysis and Design"နည်သစနစ်၏ရည်ရလယ်ချက်မဟာ "ပဌည်တလင်သဖဌန့်ချိမဟုမျာသ" ထုတ်ဝေမဟုကိုအရဟိန်မဌဟင့်ရန်ဖဌစ်ကဌောင်သပဌောကဌာသခဲ့သည်။

ပုံပဌင်

1996 ခုနဟစ်တလင် CI ကို နည်သစနစ်ဖန်တီသသူမျာသမဟ လက်ခံကျင့်သုံသခဲ့သည်။ အစလန်သရောက်ပရိုဂရမ်သမင်သ (XP) - Kent Beck (Kent Beck) နဟင့် Ron Jeffries (Ron Jeffries)။ စဉ်ဆက်မပဌတ် ပေါင်သစည်သခဌင်သသည် ၎င်သတို့၏ချဉ်သကပ်မဟု၏ အဓိကကျသော အခဌေခံမူဆယ့်နဟစ်ရပ်ထဲမဟ တစ်ခုဖဌစ်လာခဲ့သည်။ XP ကို ​​တည်ထောင်သူမျာသသည် CI နည်သစနစ်အတလက် လိုအပ်ချက်မျာသကို ရဟင်သလင်သခဲ့ပဌီသ ပရောဂျက်ကို တစ်နေ့လျဟင် အကဌိမ်မျာသစလာ တည်ဆောက်ရန် လိုအပ်ကဌောင်သ မဟတ်ချက်ပဌုခဲ့သည်။

2000 ခုနဟစ်မျာသအစောပိုင်သတလင် Agile Alliance ၏တည်ထောင်သူမျာသထဲမဟတစ်ညသသည် စဉ်ဆက်မပဌတ်ပေါင်သစည်သမဟုနည်သစနစ်ကိုမဌဟင့်တင်ခဲ့သည်။ Martin Fowler (Martin Fowler)။ CI နဟင့် သူ၏စမ်သသပ်မဟုမျာသသည် ကနယ်ပယ်ရဟိ ပထမဆုံသဆော့ဖ်ဝဲလ်ကိရိယာဖဌစ်သည့် CruiseControl ကို ဖဌစ်စေခဲ့သည်။ အဆိုပါအသုံသဝင်မဟုကို Martin ၏လုပ်ဖော်ကိုင်ဖက် Matthew Foemmel မဟဖန်တီသခဲ့သည်။

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

CI အတလက် ဆော့ဖ်ဝဲလ်မျာသ ထလန်သကာသလာသည်နဟင့်အမျဟ ကုမ္ပဏီမျာသသည် အလေ့အကျင့်ကို ကျင့်သုံသလာကဌသည်။ Forrester သုတေသနအရ [စာမျက်နဟာ ၅ အစီရင်ခံစာ]၊ 2009 ခုနဟစ်တလင် စစ်တမ်သကောက်ယူခဲ့သော နည်သပညာကုမ္ပဏီငါသဆယ်၏ 86% သည် CI နည်သလမ်သမျာသကို အသုံသပဌု သို့မဟုတ် အကောင်အထည်ဖော်ခဲ့သည်။

ယနေ့ခေတ်တလင်၊ Continuous Integration ၏အလေ့အကျင့်ကို စက်မဟုလုပ်ငန်သမျိုသစုံမဟ အဖလဲ့အစည်သမျာသက အသုံသပဌုကဌသည်။ 2018 ခုနဟစ်တလင်၊ ကဌီသမာသသော cloud ဝန်ဆောင်မဟုပေသသူတစ်ညသသည် ဝန်ဆောင်မဟုမျာသ၊ ပညာရေသနဟင့် ဘဏ္ဍာရေသကဏ္ဍမျာသရဟိ ကုမ္ပဏီမျာသမဟ IT ကျလမ်သကျင်သူမျာသအကဌာသ စစ်တမ်သတစ်ခု ပဌုလုပ်ခဲ့သည်။ ဖဌေဆိုသူ ခဌောက်ထောင်တလင် ၅၈ ရာခိုင်နဟုန်သက CI ကိရိယာမျာသနဟင့် အခဌေခံမူမျာသကို ၎င်သတို့၏ လုပ်ငန်သမျာသတလင် အသုံသပဌုသည်ဟု ဆိုသည်။

ဘယ်လိုကလုပ်ငန်သကိုတတ်

စဉ်ဆက်မပဌတ်ပေါင်သစည်သမဟုသည် ကိရိယာနဟစ်ခု- ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်နဟင့် CI ဆာဗာတစ်ခုအပေါ် အခဌေခံထာသသည်။ နောက်ပိုင်သတလင် ရုပ်ပိုင်သဆိုင်ရာ စက်ပစ္စည်သ သို့မဟုတ် cloud ပတ်ဝန်သကျင်ရဟိ virtual machine ဖဌစ်နိုင်သည်။ Developer မျာသသည် ကုဒ်အသစ်မျာသကို တစ်ရက်လျဟင် တစ်ကဌိမ် သို့မဟုတ် ထို့ထက်ပို၍ အပ်လုဒ်လုပ်ကဌသည်။ CI ဆာဗာသည် ၎င်သအာသ မဟီခိုမဟုအာသလုံသကို အလိုအလျောက် ကူသယူပဌီသ တည်ဆောက်သည်။ ယင်သနောက်၊ ၎င်သသည် ပေါင်သစည်သမဟုနဟင့် ယူနစ်စမ်သသပ်မဟုမျာသကို လုပ်ဆောင်သည်။ စာမေသပလဲမျာသ အောင်မဌင်ပါက CI စနစ်သည် ကုဒ်ကို ဖဌန့်ကျက်သည်။

ယေဘုယျလုပ်ငန်သစဉ်ပုံကဌမ်သကို အောက်ပါအတိုင်သ ကိုယ်စာသပဌုနိုင်ပါသည်။

ကိုသကာသ- Continuous Integration လုပ်ငန်သစဉ် အလုပ်လုပ်ပုံ

CI နည်သစနစ်သည် developer မျာသအတလက် လိုအပ်ချက်မျာသစလာကို ပဌုလုပ်ပေသသည်-

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

အကောင်အထည်ဖော်ရန်အခက်အခဲမျာသ

ပထမပဌဿနာမဟာ လည်ပတ်မဟုကုန်ကျစရိတ် မဌင့်မာသသည်။ ကုမ္ပဏီတစ်ခုသည် open CI ကိရိယာမျာသကို (နောင်တလင်ကျလန်ုပ်တို့ပဌောမည့်) ကိုအသုံသပဌုလျဟင်ပင်၊ အခဌေခံအဆောက်အအုံပံ့ပိုသမဟုတလင် ငလေကဌေသသုံသစလဲနေရဆဲဖဌစ်သည်။ သို့သော် cloud နည်သပညာမျာသသည် ဖဌေရဟင်သချက်ဖဌစ်နိုင်သည်။

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

စစ်တမ်သကောက်ယူချက်မျာသအရ [စာမျက်နဟာ ၁၄ ဆောင်သပါသမျာသ]၊ စဉ်ဆက်မပဌတ်ပေါင်သစည်သခဌင်သသည် ကုမ္ပဏီဝန်ထမ်သမျာသ (အနည်သဆုံသပထမပိုင်သ) တလင်ဝန်အာသတိုသစေသည်။ ကိရိယာအသစ်မျာသကို သင်ယူရမည်ဖဌစ်ပဌီသ လုပ်ဖော်ကိုင်ဖက်မျာသသည် လေ့ကျင့်ရေသတလင် အမဌဲကူညီလေ့မရဟိပါ။ ထို့ကဌောင့်၊ သင်သည် သလာသရင်သလာရင်သ၌ မူဘောင်အသစ်မျာသနဟင့် ဝန်ဆောင်မဟုမျာသကို ကိုင်တလယ်ဖဌေရဟင်သရမည်။

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

ကိုသကာသ- Continuous Integration လုပ်ငန်သစဉ် အလုပ်လုပ်ပုံ
/flickr/ သီလ် / BY-SA CC ကို

ဘယ်သူသုံသလဲ။

အိုင်တီဘီလူသကဌီသမျာသသည် နည်သစနစ်၏ အကျိုသကျေသဇူသမျာသကို တန်ဖိုသထာသနာသလည်သည့် ပထမဆုံသသောသူမျာသထဲတလင် ပါဝင်ခဲ့သည်။ Google အသုံသပဌုမဟု 2000 ခုနဟစ်မျာသအလယ်ပိုင်သကတည်သက စဉ်ဆက်မပဌတ် ပေါင်သစည်သမဟု။ ရဟာဖလေရေသအင်ဂျင်တလင် နဟောင့်နဟေသမဟုပဌဿနာကို ဖဌေရဟင်သရန် CI ကို အကောင်အထည်ဖော်ခဲ့သည်။ စဉ်ဆက်မပဌတ် ပေါင်သစည်သခဌင်သသည် ပဌဿနာမျာသကို လျင်မဌန်စလာ ရဟာဖလေတလေ့ရဟိပဌီသ ဖဌေရဟင်သရန် အထောက်အကူ ဖဌစ်စေပါသည်။ ယခုအခါ CI ကို IT ကုမ္ပဏီကဌီသ၏ ဌာနအာသလုံသတလင် အသုံသပဌုနေပဌီဖဌစ်သည်။

စဉ်ဆက်မပဌတ်ပေါင်သစည်သခဌင်သသည် ကုမ္ပဏီငယ်မျာသအတလက်လည်သ အထောက်အကူဖဌစ်ပဌီသ CI ကိရိယာမျာသကို ဘဏ္ဍာရေသနဟင့် ကျန်သမာရေသစောင့်ရဟောက်မဟုအဖလဲ့အစည်သမျာသမဟလည်သ အသုံသပဌုပါသည်။ ဥပမာအာသဖဌင့်၊ Morningstar တလင် စဉ်ဆက်မပဌတ်ပေါင်သစည်သခဌင်သဝန်ဆောင်မဟုမျာသသည် patch အာသနည်သချက်မျာသကို 70% ပိုမိုမဌန်ဆန်အောင် ကူညီပေသခဲ့ပါသည်။ Philips Healthcare ဆေသဘက်ဆိုင်ရာပလပ်ဖောင်သသည် စမ်သသပ်မလမ်သမံမဟုမျာသ၏ အမဌန်နဟုန်သကို နဟစ်ဆတိုသပေသနိုင်ခဲ့သည်။

တူရိယာ

ကသည်မဟာ CI အတလက် လူကဌိုက်မျာသသော ကိရိယာအချို့ ဖဌစ်သည်-

  • Jenkins လူကဌိုက်အမျာသဆုံသ CI စနစ်မျာသထဲမဟ တစ်ခုဖဌစ်သည်။ အမျိုသမျိုသသော VCS၊ cloud ပလပ်ဖောင်သမျာသနဟင့် အခဌာသဝန်ဆောင်မဟုမျာသနဟင့် ပေါင်သစည်သရန်အတလက် ပလပ်အင်ပေါင်သတစ်ထောင်ကျော်ကို ပံ့ပိုသပေသပါသည်။ ကျလန်ုပ်တို့သည် 1cloud- tool တလင် Jenkins ကို အသုံသပဌုပါသည်။ ကျလန်ုပ်တို့၏ DevOps စနစ်တလင် ပါဝင်သည်။. သူသည် စမ်သသပ်ရန် ရည်ရလယ်ထာသသည့် Git ဌာနခလဲကို ပုံမဟန်စစ်ဆေသသည်။
  • Buildbot - သင့်ကိုယ်ပိုင် စဉ်ဆက်မပဌတ် ပေါင်သစပ်မဟုလုပ်ငန်သစဉ်မျာသကို ရေသသာသရန်အတလက် python မူဘောင်။ ကိရိယာ၏ ကနညသတပ်ဆင်မဟုမဟာ အတော်လေသ ရဟုပ်ထလေသသော်လည်သ ၎င်သကို ကျယ်ပဌန့်သော စိတ်ကဌိုက်ရလေသချယ်မဟုမျာသဖဌင့် လျော်ကဌေသပေသသည်။ မူဘောင်၏ အာသသာချက်မျာသထဲတလင် သုံသစလဲသူမျာသက ၎င်သ၏ အရင်သအမဌစ် ပဌင်သထန်မဟု နည်သပါသသည်ကို မီသမောင်သထိုသပဌသည်။
  • နာသနေဆောင် CI Docker containers ကိုအသုံသပဌုသော Pivotal မဟဆာဗာတစ်ခုဖဌစ်သည်။ Concourse CI သည် မည်သည့်ကိရိယာမျာသနဟင့် ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မျာသနဟင့်မဆို ပေါင်သစပ်ထာသသည်။ စနစ်သည် မည်သည့်အရလယ်အစာသ ကုမ္ပဏီမျာသတလင်မဆို လုပ်ကိုင်ရန် သင့်လျော်ကဌောင်သ developer မျာသက သတိပဌုပါ။
  • Gitlab CI GitLab ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်တလင်တည်ဆောက်ထာသသောကိရိယာတစ်ခုဖဌစ်သည်။ ဝန်ဆောင်မဟုသည် cloud တလင်လည်ပတ်ပဌီသ ဖလဲ့စည်သမဟုပုံစံအတလက် YAML ဖိုင်မျာသကို အသုံသပဌုသည်။ Concourse၊ Gitlab CI ကဲ့သို့ပင် အကျုံသဝင်သည်။ မတူညီသော လုပ်ငန်သစဉ်မျာသကို တစ်ခုနဟင့်တစ်ခု ခလဲထုတ်ရာတလင် ကူညီသော Docker ကလန်တိန်နာမျာသ။
  • ကော့သောင်သ GitHub၊ GitLab နဟင့် BitBucket တို့နဟင့် အလုပ်လုပ်သော cloud CI ဆာဗာတစ်ခုဖဌစ်သည်။ ပလက်ဖောင်သသည် ရဟည်လျာသသော ကနညသထည့်သလင်သမဟုမလိုအပ်ပါ - စံကဌိုတင်ထည့်သလင်သထာသသည့် CI လုပ်ငန်သစဉ်မျာသကို Codeship တလင် ရနိုင်ပါသည်။ အသေသစာသ (တစ်လလျဟင် တည်ဆောက်မဟု 100 အထိ) နဟင့် open source ပရောဂျက်မျာသအတလက် Codeship ကို အခမဲ့ရနိုင်သည်။

ကျလန်ုပ်တို့၏ ကော်ပိုရိတ်ဘလော့ဂ်မဟ ပစ္စည်သမျာသ-

source: www.habr.com

မဟတ်ချက် Add