CICD ստարտափների համար. ինչ գործիքներ կան և ինչու են դրանք ոչ միայն մեծ և հայտնի ընկերություններն օգտագործում

CICD գործիքների մշակողները հաճախ որպես հաճախորդներ են նշում խոշոր ընկերությունները՝ Microsoft-ը, Oculus-ը, Red Hat-ը, նույնիսկ Ferrari-ն և NASA-ն: Թվում է, թե նման բրենդներն աշխատում են միայն թանկարժեք համակարգերով, որոնք չեն կարող թույլ տալ մի քանի ծրագրավորողներից և դիզայներներից բաղկացած ստարտափը։ Բայց գործիքների մի զգալի մասը հասանելի է փոքր թիմերի համար:

Թե ինչի վրա կարող եք ուշադրություն դարձնել, կպատմենք ստորև։

CICD ստարտափների համար. ինչ գործիքներ կան և ինչու են դրանք ոչ միայն մեծ և հայտնի ընկերություններն օգտագործում
Լուսանկարը - Չաբա Բալաշ - Անջատեք

PHP գրաքննություն

Բաց կոդով CI սերվեր, որը հեշտացնում է նախագծերի կառուցումը PHP-ում: Սա նախագծի պատառաքաղ է PHPCI. PHPCI-ն ինքը դեռ զարգանում է, բայց ոչ այնքան ակտիվ, որքան նախկինում:

PHP Censor-ը կարող է աշխատել GitHub, GitLab, Mercurial և մի քանի այլ պահեստների հետ: Կոդը փորձարկելու համար գործիքն օգտագործում է 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-ը հարմար է փոքր նախագծերի տեղակայման համար, բայց դուք ստիպված կլինեք հյուրընկալել և կարգավորել այն ինքներդ (ինքնահոսթինգ): Այս խնդիրը պարզեցված է բավականին մանրամասն փաստաթղթերով. այն գտնվում է GitHub-ում.

Rex

Rex-ը կարճ է Remote Execution-ի համար: Համակարգը մշակվել է ինժեներ Ֆերենց Էրկիի կողմից՝ տվյալների կենտրոնում գործընթացները ավտոմատացնելու համար: Rex-ը հիմնված է Perl սկրիպտների վրա, սակայն անհրաժեշտ չէ իմանալ այս լեզուն՝ գործիքի հետ փոխազդելու համար. գործողությունների մեծ մասը (օրինակ՝ ֆայլերի պատճենումը) նկարագրված է ֆունկցիայի գրադարանում, և սկրիպտները հաճախ տեղավորվում են տասը տողերի մեջ: Ահա մի քանի սերվեր մուտք գործելու և գործարկման ժամանակի օրինակ.

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)

Սա հարթակ է բաշխումների զարգացման օպտիմալացման համար: Դրա կոդը բաց է և գտնվում է պահոցում՝ հասցեով GitHub. Գործիքի հեղինակը ընկերությունն է Նովել. Նա մասնակցել է SuSE բաշխման մշակմանը, և այս նախագիծը սկզբում կոչվում էր openSUSE Build Service: Զարմանալի չէ, որ Open Build Service-ը օգտագործումը openSUSE-ում, Tizen-ում և VideoLAN-ում նախագծեր կառուցելու համար: Dell-ը, SGI-ն և Intel-ը նույնպես աշխատում են գործիքի հետ: Սակայն սովորական օգտատերերի շրջանում կան նաև փոքր ստարտափներ։ Հատկապես նրանց համար հեղինակները հավաքել են (էջ 10) նախապես կազմաձևված ծրագրային փաթեթ. Համակարգն ինքնին լիովին անվճար է. այն տեղակայելու համար պետք է միայն գումար ծախսել հոսթինգի կամ ապարատային սերվերի վրա:

Բայց իր գոյության ընթացքում գործիքը երբեք լայն համայնք չի ձեռք բերել: Չնայած նրան նա եղել է Linux Developer Network-ի մի մասը, որը պատասխանատու է բաց ՕՀ-ի ստանդարտացման համար: Դա կարող է դժվար լինել Գտեք ձեր հարցի պատասխանը թեմատիկ ֆորումներում: Բայց Քուորայի բնակիչներից մեկը նշել է, որ XNUMX թ IRC զրույց Freenode-ում համայնքի անդամները բավականին պատրաստ են արձագանքում: Փոքր համայնքի խնդիրը գլոբալ չէ, քանի որ նկարագրված է բազմաթիվ խնդիրների լուծում պաշտոնական փաստաթղթերում (PDF և EPUB): Նույն տեղում։ կարող է գտնել OBS-ի հետ աշխատելու լավագույն փորձը (կան օրինակներ և դեպքեր):

Ռանդեկ

Բացել գործիք (GitHub), որն ավտոմատացնում է առաջադրանքները տվյալների կենտրոնում և ամպում՝ օգտագործելով սկրիպտներ: Դրանց կատարման համար պատասխանատու է հատուկ սկրիպտ սերվեր: Կարելի է ասել, որ Rundeck-ը ControlTier հավելվածների կառավարման հարթակի «դուստրն» է։ Rundeck-ն առանձնացավ դրանից 2010 թվականին և ձեռք բերեց նոր ֆունկցիոնալություն, օրինակ՝ ինտեգրումներ Puppet-ի, Chef-ի, Git-ի և Jenkins-ի հետ:

Համակարգն օգտագործվում է The Walt Disney ընկերությունը, Salesforce и Ticketmaster. Բայց նախագիծը հարմար է նաև ստարտափների համար։ Դա պայմանավորված է նրանով, որ Rundeck-ը լիցենզավորված է Apache v2.0 լիցենզիայի ներքո: Ավելին, գործիքը բավականին հեշտ է օգտագործել:

Reddit-ի բնակիչ, ով աշխատել է Rundeck-ի հետ, Ասում են, որն ինքնուրույն լուծեց դժվարությունների մեծ մասը։ Նրանք օգնեցին նրան այս հարցում փաստաթղթեր և էլեկտրոնային գրքեր, հրապարակված մշակողների կողմից։

Դուք կարող եք նաև գտնել առցանց գործիքը կարգավորելու հակիրճ ուղեցույցներ.

GoCD

Բացել գործիք (GitHub) կոդերի տարբերակի ավտոմատացում: Այն ներկայացվել է 2007 թվականին ընկերության կողմից ThoughtWorks- ը — այն ժամանակ նախագիծը կոչվում էր Կրուիզ:

GoCD-ն օգտագործվում է AutoTrader առցանց ավտոմեքենաների վաճառքի կայքի ինժեներների կողմից, Ancestry-ի ծագումնաբանական ծառայության և կրեդիտ քարտերի մատակարարի Barclaycard-ի կողմից: Այնուամենայնիվ, գործիքի օգտագործողների քառորդ մասը փոքր բիզնես է.

Ծառայության հանրաճանաչությունը ստարտափների շրջանում կարելի է բացատրել դրա բացությամբ. այն տարածվում է Apache v2.0 լիցենզիայի ներքո: Միեւնույն ժամանակ, GoCD Այն ունի պլագիններ երրորդ կողմի ծրագրային ապահովման հետ ինտեգրվելու համար՝ թույլտվության համակարգեր և ամպային լուծումներ: Իրական համակարգ բավականին բարդ վարպետության մեջ - այն ունի մեծ թվով օպերատորներ և թիմեր: Նաև որոշ օգտատերեր դժգոհում են վատ ինտերֆեյսից և կարիք կարգավորել գործակալները մասշտաբի համար:

CICD ստարտափների համար. ինչ գործիքներ կան և ինչու են դրանք ոչ միայն մեծ և հայտնի ընկերություններն օգտագործում
Լուսանկարը - Մեթ Ուայլդբոր - Անջատեք

Եթե ​​ցանկանում եք փորձել GoCD-ը գործնականում, կարող եք գտնել ծրագրի կայքում պաշտոնական փաստաթղթեր. Այն կարող է առաջարկվել նաև որպես լրացուցիչ տեղեկատվության աղբյուր GoCD մշակողների բլոգ ձեռնարկներով տեղադրման վրա.

Jenkins

Ջենկինսը լայնորեն հայտնի է և համարել մի տեսակ ստանդարտ CICD-ի ոլորտում, իհարկե, առանց դրա այս ընտրությունը լիովին ամբողջական չէր լինի: Գործիքը հայտնվել է 2011 թ. դառնալը մի պատառաքաղ Project Hudson-ից Oracle-ից:

Այսօր Ջենքինսի հետ աշխատանքют NASA-ում, Nintendo-ում և այլ խոշոր կազմակերպություններում: Այնուամենայնիվ ավելի քան 8% օգտվողները կազմում են մինչև տասը հոգուց բաղկացած փոքր թիմեր: Ապրանքը լիովին անվճար է և տարածվում է MIT լիցենզիայի ներքո. Այնուամենայնիվ, դուք ստիպված կլինեք ինքներդ հյուրընկալել և կարգավորել Jenkins-ը, դա պահանջում է հատուկ սերվեր:

Գործիքի ողջ գոյության ընթացքում նրա շուրջ ձևավորվել է մեծ համայնք։ Օգտատերերը ակտիվորեն շփվում են թեմաներով Փակցնելուց и Google Խմբեր. Ջենքինսի մասին նյութերը նույնպես պարբերաբար հայտնվում են Habré-ում։ Եթե ​​ցանկանում եք դառնալ համայնքի մի մասը և սկսել աշխատել Ջենքինսի հետ, կա պաշտոնական փաստաթղթեր и մշակողի ուղեցույց. Մենք նաև առաջարկում ենք հետևյալ ուղեցույցներն ու գրքերը.

Ջենկինսն ունի մի քանի օգտակար կողմնակի նախագծեր: Առաջինը plugin է Կազմաձևումը որպես կոդ. Այն հեշտացնում է Jenkins-ի կարգավորումը հեշտ ընթեռնելի API-ներով, որոնք կարող են հասկանալ նույնիսկ ադմինները առանց գործիքի խորը գիտելիքների: Երկրորդը համակարգն է Ջենկինս X ամպի համար. Այն արագացնում է լայնածավալ ՏՏ ենթակառուցվածքում տեղակայված հավելվածների առաքումը` ավտոմատացնելով որոշ սովորական առաջադրանքներ:

Buildbot

Սա շարունակական ինտեգրացիոն համակարգ է՝ հավելվածների կառուցման և փորձարկման ցիկլը ավտոմատացնելու համար: Այն ավտոմատ կերպով ստուգում է կոդի ֆունկցիոնալությունը ամեն անգամ, երբ դրանում որևէ փոփոխություն է կատարվում:

Գործիքի հեղինակը ինժեներ Բրայան Ուորներն էր։ Այսօր նա հերթապահում է փոխվել է Buildbot Oversight Committee նախաձեռնող խումբը, որը ներառում է վեց մշակող:

Buildbot օգտագործվում է նախագծեր, ինչպիսիք են LLVM, MariaDB, Blender և Dr.Web: Բայց այն նաև օգտագործվում է ավելի փոքր նախագծերում, ինչպիսիք են wxWidgets-ը և Flathub-ը: Համակարգն աջակցում է բոլոր ժամանակակից VCS-ներին և ունի ճկուն կառուցման կարգավորումներ՝ օգտագործելով Python՝ դրանք նկարագրելու համար: Դա կօգնի ձեզ հաղթահարել նրանց բոլորի հետ: պաշտոնական փաստաթղթեր և երրորդ կողմի ձեռնարկները, օրինակ, ահա կարճ մեկը IBM ձեռնարկ.

Իհարկե, դա դեռ ամենը չէ DevOps գործիքներ, որոնց վրա պետք է ուշադրություն դարձնեն փոքր կազմակերպությունները և ստարտափները: Մեկնաբանություններում տվեք ձեր նախընտրած գործիքները, և մենք կփորձենք դրանց մասին խոսել հետևյալ նյութերից մեկում։

Ինչի մասին ենք գրում կորպորատիվ բլոգում.

Source: www.habr.com

Добавить комментарий