startups အတွက် CICD- ဘယ်လို tool တွေရှိလဲ၊ ကြီးကြီးမားမားနဲ့ နာမည်ကြီးတဲ့ ကုမ္ပဏီတွေတင်မကဘဲ အဲဒါတွေကို ဘာကြောင့်သုံးတာလဲ။

CICD ကိရိယာများကို တီထွင်သူများသည် Microsoft၊ Oculus၊ Red Hat၊ Ferrari နှင့် NASA တို့ပင် ဖောက်သည်များအဖြစ် ကုမ္ပဏီကြီးများကို စာရင်းပြုစုလေ့ရှိသည်။ developer နှစ်ဦးနှင့် ဒီဇိုင်နာတစ်ဦးတို့ မတတ်နိုင်သော startup သည် စျေးကြီးသောစနစ်များနှင့်သာ အလုပ်လုပ်သော အမှတ်တံဆိပ်များဟု ထင်ရသည်။ သို့သော် ကိရိယာများ၏ အရေးပါသော အစိတ်အပိုင်းကို အသင်းငယ်များအတွက် ရနိုင်ပါသည်။

အောက်မှာ သင်ဘာကို အာရုံစိုက်နိုင်လဲဆိုတာ ပြောပြပေးပါမယ်။

startups အတွက် CICD- ဘယ်လို tool တွေရှိလဲ၊ ကြီးကြီးမားမားနဲ့ နာမည်ကြီးတဲ့ ကုမ္ပဏီတွေတင်မကဘဲ အဲဒါတွေကို ဘာကြောင့်သုံးတာလဲ။
ဓါတ်ပုံ - Csaba Balazs - Splash ကိုဖြုတ်ပါ။

PHP ဆင်ဆာ

PHP တွင် ပရောဂျက်များကို တည်ဆောက်ရန် လွယ်ကူစေသည့် open source CI server တစ်ခု။ ဒါက ပရောဂျက်ရဲ့ လမ်းခွဲတစ်ခုပါ။ PHPCI. PHPCI ကိုယ်တိုင်က ဖွံ့ဖြိုးဆဲဖြစ်ပေမယ့် အရင်ကလို တက်ကြွမှုမရှိသေးပါဘူး။

PHP Censor သည် GitHub၊ GitLab၊ Mercurial နှင့် အခြား repositories အများအပြားနှင့် အလုပ်လုပ်နိုင်သည်။ ကုဒ်ကိုစမ်းသပ်ရန်၊ ကိရိယာသည် Atoum၊ PHP Spec၊ Behat၊ Codeception စာကြည့်တိုက်များကို အသုံးပြုသည်။ ဒီမှာ နမူနာဖိုင် ပထမကိစ္စအတွက် ပြင်ဆင်ချက်များ-

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

စဉ်းစားသည်PHP Censor သည် သေးငယ်သော ပရောဂျက်များကို အသုံးချရန်အတွက် ကောင်းစွာ သင့်လျော်သော်လည်း သင်ကိုယ်တိုင် လက်ခံဆောင်ရွက်ပေးပြီး ၎င်းကို configure လုပ်ရန် လိုအပ်ပါသည်။ ဤတာဝန်ကို မျှမျှတတအသေးစိတ် စာရွက်စာတမ်းများဖြင့် ရိုးရှင်းအောင်ပြုလုပ်သည်- GitHub မှာ ရှိပါတယ်။.

Rex

Rex သည် Remote Execution အတွက် အတိုကောက်ဖြစ်သည်။ ဒေတာစင်တာရှိ လုပ်ငန်းစဉ်များကို အလိုအလျောက်လုပ်ဆောင်ရန် အင်ဂျင်နီယာ Ferenc Erki မှ တီထွင်ခဲ့ခြင်းဖြစ်သည်။ Rex သည် Perl scripts များကိုအခြေခံထားသော်လည်း tool နှင့်အပြန်အလှန်တုံ့ပြန်ရန်ဤဘာသာစကားကိုသိရန်မလိုအပ်ပါ - လုပ်ဆောင်ချက်အများစု (ဥပမာ၊ ဖိုင်များကိုကူးယူခြင်း) ကို function library တွင်ဖော်ပြထားပြီး scripts များသည်မကြာခဏစာကြောင်းဆယ်ခုနှင့်ကိုက်ညီသည်။ ဤသည်မှာ ဆာဗာများစွာသို့ လော့ဂ်အင်ဝင်ခြင်းနှင့် အလုပ်ချိန်ကို လုပ်ဆောင်ခြင်းအတွက် ဥပမာတစ်ခုဖြစ်သည်။

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

ကိရိယာဖြင့် သင့်အသိအကျွမ်းကို စတင်ရန် အကြံပြုအပ်ပါသည်။ တရားဝင်လမ်းညွှန် и အီးစာအုပ်လက်ရှိ ပြီးစီးနေပါသည်။

Build Service (OBS) ကိုဖွင့်ပါ

ဤသည်မှာ ဖြန့်ဝေမှုများ၏ ဖွံ့ဖြိုးတိုးတက်မှုကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန် ပလပ်ဖောင်းတစ်ခုဖြစ်သည်။ ၎င်း၏ကုဒ်ကိုဖွင့်ထားပြီး repository တွင်ရှိသည်။ GitHub. ကိရိယာရေးသားသူသည် ကုမ္ပဏီဖြစ်သည်။ Novell. သူမသည် SuSE ဖြန့်ဖြူးမှုဖွံ့ဖြိုးတိုးတက်ရေးတွင် ပါဝင်ခဲ့ပြီး ဤပရောဂျက်ကို အစပိုင်းတွင် openSUSE Build Service ဟုခေါ်သည်။ Build Service ကိုဖွင့်တာ အံ့သြစရာမရှိပါဘူး။ အသုံးပြုသည် openSUSE၊ Tizen နှင့် VideoLAN တွင် တည်ဆောက်သည့် ပရောဂျက်များအတွက်။ Dell၊ SGI နှင့် Intel တို့သည် tool နှင့်လည်း အလုပ်လုပ်ပါသည်။ ဒါပေမယ့် ပုံမှန်အသုံးပြုသူတွေကြားမှာ အသေးစား startups တွေလည်း ရှိပါတယ်။ အထူးသဖြင့် သူတို့စုဆောင်းထားတဲ့ စာရေးသူ (စာမျက်နှာ 10) ကြိုတင်ပြင်ဆင်ထားသည်။ ဆော့ဖ်ဝဲလ်အထုပ်. စနစ်ကိုယ်တိုင်က လုံးဝအခမဲ့ဖြစ်သည် - ၎င်းကိုအသုံးပြုရန် hosting သို့မဟုတ် hardware server ပေါ်တွင် သင်ပိုက်ဆံဖြုန်းရန်သာလိုသည်။

သို့သော်၎င်း၏တည်ရှိမှုတစ်လျှောက်လုံး၊ အဆိုပါကိရိယာသည်ကျယ်ပြန့်သောအသိုင်းအဝိုင်းကိုဘယ်သောအခါမှမရရှိပါ။ သို့ပေမယ့် သူ Open OS ကို စံသတ်မှတ်ရန် တာဝန်ရှိသော Linux Developer Network ၏ အစိတ်အပိုင်း။ ခက်ခဲနိုင်ပါတယ်။ အကြောင်းအရာအလိုက် ဖိုရမ်များတွင် သင့်မေးခွန်းအတွက် အဖြေကို ရှာပါ။ သို့သော် Quora မြို့ခံတစ်ဦးကမှတ်ချက်ချသည်။ IRC ချတ် Freenode တွင်၊ အသိုင်းအဝိုင်းအဖွဲ့ဝင်များက အလွယ်တကူ တုံ့ပြန်သည်။ ပြဿနာများစွာအတွက် ဖြေရှင်းနည်းကို ဖော်ပြခဲ့ပြီးဖြစ်သောကြောင့် အသေးစားအသိုင်းအဝိုင်းတစ်ခု၏ ပြဿနာသည် ကမ္ဘာလုံးဆိုင်ရာမဟုတ်ပေ။ တရားဝင်စာရွက်စာတမ်းများတွင် (PDF နှင့် EPUB)။ Ibid တွေ့နိုင်သည်။ OBS နှင့် လုပ်ဆောင်ရန်အတွက် အကောင်းဆုံးအလေ့အကျင့်များ (ဥပမာများနှင့် ကိစ္စများ)။

Rundeck

ကိရိယာကိုဖွင့်ပါ (GitHub) သည် scripts များကို အသုံးပြု၍ data center နှင့် cloud တို့တွင် လုပ်ဆောင်စရာများကို အလိုအလျောက်လုပ်ဆောင်ပေးသည်။ အထူး script server သည် ၎င်းတို့၏ လုပ်ဆောင်မှုအတွက် တာဝန်ရှိသည်။ Rundeck သည် ControlTier အက်ပလီကေးရှင်းစီမံခန့်ခွဲမှုပလပ်ဖောင်း၏ "သမီး" ဟုပြောနိုင်သည်။ Rundeck သည် ၎င်းနှင့် 2010 ခုနှစ်တွင် ခွဲထုတ်ခဲ့ပြီး လုပ်ဆောင်ချက်အသစ်များ ရရှိခဲ့သည် - ဥပမာ၊ Puppet၊ Chef၊ Git နှင့် Jenkins တို့နှင့် ပေါင်းစည်းခဲ့သည်။

စနစ်ကို အသုံးပြုသည်။ အဆိုပါဝေါ့ဒစ္စနေးကုမ္ပဏီ, Salesforce и Ticketmaster. ဒါပေမယ့် ဒီပရောဂျက်က startup တွေအတွက်လည်း သင့်တော်ပါတယ်။ ၎င်းမှာ Rundeck ကို Apache v2.0 လိုင်စင်အောက်တွင် လိုင်စင်ရထားသောကြောင့်ဖြစ်သည်။ ထို့အပြင် tool သည်အသုံးပြုရအလွန်လွယ်ကူသည်။

Rundeck နှင့်အလုပ်လုပ်သော Reddit တွင်နေထိုင်သူ သူပြောသောအခက်​အခဲအများစုကို ကိုယ့်​ဘာသာကိုယ်​​ဖြေရှင်း​ပေးခဲ့တယ်​။ ဒါကို သူတို့က ကူညီတယ်။ စာရွက်စာတမ်းများနှင့် e-booksdeveloper မှထုတ်ဝေသည်။

ကိရိယာကို အွန်လိုင်းတွင် စနစ်ထည့်သွင်းရန် အတိုချုံးလမ်းညွှန်ချက်များကိုလည်း သင်ရှာတွေ့နိုင်သည်-

GoCD

ကိရိယာကိုဖွင့်ပါ (GitHub) အလိုအလျောက်ကုဒ်ဗားရှင်းထိန်းချုပ်မှု။ ၎င်းကို ကုမ္ပဏီမှ 2007 ခုနှစ်တွင် မိတ်ဆက်ခဲ့သည်။ မင်္ဂလာပါ - ထို့နောက် ပရောဂျက်ကို Cruise ဟုခေါ်သည်။

GoCD ကို အွန်လိုင်းကားအရောင်းဆိုက် AutoTrader၊ မျိုးရိုးစဉ်ဆက်ဝန်ဆောင်မှု Ancestry နှင့် ခရက်ဒစ်ကတ်ပံ့ပိုးပေးသူ Barclaycard တို့မှ အင်ဂျင်နီယာများက အသုံးပြုသည်။ သို့သော် tool အသုံးပြုသူလေးပုံတစ်ပုံ အသေးစားလုပ်ငန်းတစ်ခုဖြစ်သည်။.

လုပ်ငန်းစတင်သူများကြားတွင် ဝန်ဆောင်မှု၏ရေပန်းစားမှုကို ၎င်း၏ပွင့်လင်းမြင်သာမှုဖြင့် ရှင်းပြနိုင်သည် - ၎င်းကို Apache v2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ တစ်ချိန်တည်းမှာပင် GoCD ဒါဟာရှိပါတယ် ပြင်ပကုမ္ပဏီဆော့ဖ်ဝဲနှင့် ပေါင်းစည်းရန်အတွက် ပလပ်အင်များ - ခွင့်ပြုချက်စနစ်များနှင့် cloud ဖြေရှင်းချက်များ။ စနစ်မှန် တော်တော်ရှုပ်ထွေးတယ်။ ကျွမ်းကျင်ပိုင်နိုင်မှု၌ - ၎င်းတွင်အော်ပရေတာများနှင့်အဖွဲ့များစွာရှိသည်။ ထို့အပြင်၊ အချို့သောအသုံးပြုသူများသည်ညံ့ဖျင်းသော interface နှင့် ပတ်သက်၍ တိုင်ကြားကြသည်။ လိုအပ် အတိုင်းအတာအတွက် အေးဂျင့်များကို စီစဉ်သတ်မှတ်ပါ။

startups အတွက် CICD- ဘယ်လို tool တွေရှိလဲ၊ ကြီးကြီးမားမားနဲ့ နာမည်ကြီးတဲ့ ကုမ္ပဏီတွေတင်မကဘဲ အဲဒါတွေကို ဘာကြောင့်သုံးတာလဲ။
ဓါတ်ပုံ - Matt Wildbore - Splash ကိုဖြုတ်ပါ။

GoCD ကို လက်တွေ့စမ်းကြည့်ချင်တယ်ဆိုရင်တော့ project website မှာရှာလို့ရပါတယ်။ တရားဝင်စာရွက်စာတမ်း. ထပ်လောင်းအချက်အလက်များ၏အရင်းအမြစ်အဖြစ်လည်း အကြံပြုနိုင်ပါသည်။ GoCD Developer Blog လက်စွဲစာအုပ်များနှင့်အတူ တပ်ဆင်မှုတွင်.

Jenkins

Jenkins သည် လူအများနှင့် လူသိများသည်။ ထည့်သွင်းစဉ်းစား CICD နယ်ပယ်တွင် စံသတ်မှတ်ချက်တစ်မျိုး - ဟုတ်ပါတယ်၊ အဲဒါမပါဘဲ ဒီရွေးချယ်မှုဟာ ပြီးပြည့်စုံမှာ မဟုတ်ပါဘူး။ အဆိုပါကိရိယာသည် 2011 ခုနှစ်တွင် ပေါ်ထွက်ခဲ့ပြီး၊ ဖြစ်လာသည် Oracle မှ Project Hudson ၏လမ်းဆုံတစ်ခု။

ဒီနေ့ Jenkins နဲ့ работают NASA၊ Nintendo နှင့် အခြားအဖွဲ့အစည်းကြီးများတွင် သို့သော် ၆၀% ကျော် အသုံးပြုသူများသည် လူဆယ်ဦးအထိရှိသော အဖွဲ့ငယ်များအတွက် အကောင့်များပါဝင်သည်။ ထုတ်ကုန်သည် လုံးဝအခမဲ့ဖြစ်ပြီး ဖြန့်ဝေပါသည်။ MIT လိုင်စင်အောက်တွင်. သို့သော်၊ သင်သည် Jenkins ကို သင်ကိုယ်တိုင် host လုပ်ပြီး configure လုပ်ရပါမည် - ၎င်းသည် သီးခြားဆာဗာတစ်ခု လိုအပ်သည်။

တူရိယာ၏ တည်ရှိမှုတစ်ခုလုံးနှင့်အမျှ၊ ၎င်းပတ်ဝန်းကျင်တွင် ကြီးမားသော အသိုက်အဝန်းတစ်ခု ဖြစ်ပေါ်လာခဲ့သည်။ အသုံးပြုသူများသည် လိုင်းများပေါ်တွင် တက်ကြွစွာ ဆက်သွယ်ကြသည်။ Reddit и ဂူဂဲလ်အုပ်စုများ. Jenkins ရှိ ပစ္စည်းများသည်လည်း Habre တွင် ပုံမှန်ပေါ်လာသည်။ အကယ်၍ သင်သည် အသိုက်အဝန်း၏ တစ်စိတ်တစ်ပိုင်းဖြစ်လာပြီး Jenkins နှင့် စတင်လုပ်ကိုင်လိုပါက၊ ရှိပါသည်။ တရားဝင်စာရွက်စာတမ်း и developer လမ်းညွှန်. အောက်ဖော်ပြပါ လမ်းညွှန်များနှင့် စာအုပ်များကိုလည်း အကြံပြုထားပါသည်။

Jenkins တွင် အသုံးဝင်သော ဘေးထွက်ပရောဂျက်များစွာရှိသည်။ ပထမတစ်ခုသည် plugin တစ်ခုဖြစ်သည်။ ကုဒ်အဖြစ် ဖွဲ့စည်းမှု. ၎င်းသည် ကိရိယာ၏နက်နဲသောအသိပညာမရှိဘဲ စီမံခန့်ခွဲသူများပင် နားလည်နိုင်စေရန် ဖတ်ရလွယ်ကူသော API များဖြင့် Jenkins ကို လွယ်ကူစွာထည့်သွင်းစေသည်။ ဒုတိယကတော့ စနစ်ပါ။ Jenkins X တိမ်တိုက်အတွက်။ ၎င်းသည် လုပ်ရိုးလုပ်စဉ် လုပ်ငန်းဆောင်တာအချို့ကို အလိုအလျောက်လုပ်ဆောင်ခြင်းဖြင့် ကြီးမားသော IT အခြေခံအဆောက်အအုံတွင် အသုံးပြုသည့် အက်ပ်လီကေးရှင်းများ ပေးပို့မှုကို အရှိန်မြှင့်ပေးသည်။

Buildbot

၎င်းသည် အပလီကေးရှင်းများ၏ တည်ဆောက်ခြင်းနှင့် စမ်းသပ်ခြင်းစက်ဝန်းကို အလိုအလျောက်လုပ်ဆောင်ရန်အတွက် စဉ်ဆက်မပြတ် ပေါင်းစပ်စနစ်တစ်ခုဖြစ်သည်။ ၎င်းသည် ပြောင်းလဲမှုများပြုလုပ်တိုင်း ကုဒ်၏လုပ်ဆောင်နိုင်စွမ်းကို အလိုအလျောက်စစ်ဆေးသည်။

ကိရိယာကို ရေးသားသူမှာ အင်ဂျင်နီယာချုပ် Brian Warner ဖြစ်သည်။ ဒီနေ့ သူတာဝန်ကျတယ်။ ပြောင်းလဲခဲ့သည်။ developer ခြောက်ဦးပါဝင်သည့် Buildbot ကြီးကြပ်ရေးကော်မတီ ပဏာမအဖွဲ့။

Buildbot အသုံးပြုသည် LLVM၊ MariaDB၊ Blender နှင့် Dr.Web ကဲ့သို့သော ပရောဂျက်များ။ ဒါပေမယ့် wxWidgets နဲ့ Flathub တို့လို အသေးစား ပရောဂျက်တွေမှာလည်း သုံးပါတယ်။ စနစ်သည် ခေတ်မီ VCS အားလုံးကို ပံ့ပိုးထားပြီး ၎င်းတို့ကိုဖော်ပြရန် Python ကိုအသုံးပြုခြင်းဖြင့် ပြောင်းလွယ်ပြင်လွယ်တည်ဆောက်မှုဆက်တင်များပါရှိသည်။ ၎င်းသည် ၎င်းတို့အားလုံးကို ကိုင်တွယ်ဖြေရှင်းရန် သင့်အား ကူညီပေးပါလိမ့်မည်။ တရားဝင်စာရွက်စာတမ်း ဥပမာ နှင့် တတိယပါတီ ကျူတိုရီရယ် တိုတိုလေးပါ။ IBM လက်စွဲစာအုပ်.

သင်တန်း၏, ဒါအကုန်မဟုတ်ဘူး။ အဖွဲ့အစည်းငယ်များနှင့် လုပ်ငန်းစတင်သူများ အာရုံစိုက်သင့်သည့် DevOps ကိရိယာများ။ သင့်စိတ်ကြိုက်ကိရိယာများကို မှတ်ချက်များတွင် ပေးခဲ့ပါ၊ ထို့နောက် အောက်ပါပစ္စည်းများထဲမှ တစ်ခုတွင် ၎င်းတို့အကြောင်း ပြောပြရန် ကြိုးစားပါမည်။

ကော်ပိုရိတ်ဘလော့ဂ်တွင် ကျွန်ုပ်တို့ ရေးထားသည်များ

source: www.habr.com

မှတ်ချက် Add