CICD idufirmadele: millised tööriistad on olemas ja miks mitte ainult suured ja tuntud ettevõtted neid ei kasuta

CICD tööriistade arendajad nimetavad klientideks sageli suuri ettevõtteid – Microsoft, Oculus, Red Hat, isegi Ferrari ja NASA. Näib, et sellised kaubamärgid töötavad ainult kallite süsteemidega, mida paarist arendajast ja disainerist koosnev startup endale lubada ei saa. Kuid märkimisväärne osa tööriistadest on saadaval väikestele meeskondadele.

Allpool räägime teile, millele saate tähelepanu pöörata.

CICD idufirmadele: millised tööriistad on olemas ja miks mitte ainult suured ja tuntud ettevõtted neid ei kasuta
Фото - Csaba Balazs — Vabastage pritsmed

PHP tsensor

Avatud lähtekoodiga CI-server, mis teeb PHP-s projektide loomise lihtsaks. See on projekti kahvel PHPCI. PHPCI ise alles areneb, kuid mitte nii aktiivselt kui varem.

PHP Censor saab töötada GitHubi, GitLabi, Mercuriali ja mitmete teiste hoidlatega. Koodi testimiseks kasutab tööriist Atoumi, PHP Spec, Behat, Codeception teeke. Siin näidisfail konfiguratsioonid esimesel juhul:

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

Peetakseet PHP Censor sobib hästi väikeste projektide juurutamiseks, kuid peate selle ise hostima ja konfigureerima (ise hostitud). Seda ülesannet lihtsustab üsna üksikasjalik dokumentatsioon - see on GitHubis.

Rex

Rex on lühend sõnast Remote Execution. Süsteemi töötas välja insener Ferenc Erki andmekeskuse protsesside automatiseerimiseks. Rex põhineb Perli skriptidel, kuid tööriistaga suhtlemiseks pole seda keelt vaja osata – enamik toiminguid (näiteks failide kopeerimine) on kirjeldatud funktsiooniteegis ning skriptid mahuvad sageli kümnele reale. Siin on näide mitmesse serverisse sisselogimise ja tööaja käitamise kohta:

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;
};

Soovitame tööriistaga tutvust alustada ametlik juhend и e-raamat, mis on hetkel valmimisel.

Open Build Service (OBS)

See on platvorm distributsioonide arendamise optimeerimiseks. Selle kood on avatud ja asub hoidlas aadressil GitHub. Tööriista autor on ettevõte Novell. Ta osales SuSE distributsiooni väljatöötamises ja selle projekti nimi oli algselt openSUSE Build Service. Pole üllatav, et Open Build Service kasutamine ehitusprojektide jaoks OpenSUSE-s, Tizenis ja VideoLANis. Selle tööriistaga töötavad ka Dell, SGI ja Intel. Kuid tavakasutajate hulgas on ka väikseid startuppe. Eriti nende jaoks kogusid autorid (leht 10) eelkonfigureeritud tarkvarapakett. Süsteem ise on täiesti tasuta – selle juurutamiseks peate kulutama raha vaid hostimisele või riistvaraserverile.

Kuid kogu oma olemasolu jooksul pole tööriist kunagi laialdast kogukonda omandanud. Kuigi ta oli osa Linuxi arendajavõrgust, mis vastutab avatud OS-i standardimise eest. See võib olla raske Otsige vastust oma küsimusele temaatilistest foorumitest. Kuid üks Quora elanik märkis, et aastal IRC vestlus Freenode'is vastavad kogukonna liikmed üsna kergesti. Väikese kogukonna probleem ei ole globaalne, kuna paljude probleemide lahendust on kirjeldatud ametlikus dokumentatsioonis (PDF ja EPUB). Ibid. võib leida OBS-iga töötamise parimad tavad (näiteid ja juhtumeid on).

Rundeck

Ava tööriist (GitHub), mis automatiseerib skriptide abil andmekeskuses ja pilves olevaid ülesandeid. Nende täitmise eest vastutab spetsiaalne skriptiserver. Võime öelda, et Rundeck on ControlTieri rakenduste haldusplatvormi "tütar". Rundeck eraldus sellest 2010. aastal ja omandas uue funktsionaalsuse – näiteks integratsioonid Puppeti, Chefi, Giti ja Jenkinsiga.

Süsteem on kasutusel Walt Disney Company, Sales Force и Ticket. Kuid projekt sobib ka idufirmadele. Seda seetõttu, et Rundeck on litsentsitud Apache v2.0 litsentsi alusel. Lisaks on tööriista üsna lihtne kasutada.

Redditi elanik, kes töötas Rundeckiga, говорит, mis lahendas enamiku raskustest iseseisvalt. Nad aitasid teda selles dokumentatsioon ja e-raamatud, mille on avaldanud arendajad.

Samuti leiate Internetist lühikesed juhised tööriista seadistamiseks:

GoCD

Ava tööriist (GitHub) koodi versioonikontrolli automatiseerimine. Ettevõte tutvustas seda 2007. aastal Mõttetööd — siis kandis projekti nime Cruise.

GoCD-d kasutavad veebipõhise automüügi saidi AutoTrader, genealoogiateenuse Ancestry ja krediitkaardi pakkuja Barclaycard insenerid. Tööriistakasutajatest aga veerand moodustab väikeettevõtte.

Teenuse populaarsus idufirmade seas on seletatav selle avatusega – seda levitatakse Apache v2.0 litsentsi all. Samal ajal GoCD See on pluginad integreerimiseks kolmanda osapoole tarkvaraga – autoriseerimissüsteemid ja pilvelahendused. Tõeline süsteem päris keeruline masterdamisel - sellel on suur hulk operaatoreid ja meeskondi. Samuti kurdavad mõned kasutajad kehva liidese ja vajalikkus konfigureerige agente skaleerimiseks.

CICD idufirmadele: millised tööriistad on olemas ja miks mitte ainult suured ja tuntud ettevõtted neid ei kasuta
Фото - Matt Wildbore — Vabastage pritsmed

Kui soovite GoCD-d praktikas proovida, leiate selle projekti veebisaidilt ametlik dokumentatsioon. Seda võib soovitada ka lisateabe allikana GoCD arendaja blogi koos käsiraamatutega seadistamisel.

Jenkins

Jenkins on laialt tuntud ja kaaluda omamoodi standard CICD vallas – ilma selleta poleks see valik muidugi päris täielik. Tööriist ilmus 2011. muutumas Oracle'i projekti Hudsoni kahvel.

Täna koos Jenkinsiga töötavad NASA, Nintendo ja teiste suurte organisatsioonide juures. Kuid üle 8% kasutajad moodustavad väikeseid, kuni kümneliikmelisi meeskondi. Toode on täiesti tasuta ja levitatav MIT litsentsi alusel. Siiski peate Jenkinsi ise hostima ja konfigureerima – selleks on vaja spetsiaalset serverit.

Kogu pilli olemasolu jooksul on selle ümber tekkinud suur kogukond. Kasutajad suhtlevad aktiivselt lõimedes reddit и Google'i grupid. Jenkinsi käsitlevad materjalid ilmuvad regulaarselt ka Habré lehel. Kui soovite saada kogukonna osaks ja alustada koostööd Jenkinsiga, on see olemas ametlik dokumentatsioon и arendaja juhend. Soovitame ka järgmisi juhendeid ja raamatuid:

Jenkinsil on mitmeid kasulikke kõrvalprojekte. Esimene neist on pistikprogramm Seadistamine koodina. See muudab Jenkinsi seadistamise lihtsaks hõlpsasti loetavate API-de abil, millest saavad aru isegi administraatorid, kes ei tunne tööriista põhjalikult. Teine on süsteem Jenkins X pilve jaoks. See kiirendab suuremahulises IT-infrastruktuuris juurutatud rakenduste tarnimist, automatiseerides mõned rutiinsed toimingud.

Buildbot

See on pidev integreerimissüsteem rakenduste ehitus- ja testimistsükli automatiseerimiseks. See kontrollib automaatselt koodi funktsionaalsust iga kord, kui selles tehakse muudatusi.

Tööriista autor oli insener Brian Warner. Täna on ta valves muutunud Buildboti järelevalvekomitee algatusrühm, kuhu kuulub kuus arendajat.

Buildbot kasutatud projektid nagu LLVM, MariaDB, Blender ja Dr.Web. Kuid seda kasutatakse ka väiksemates projektides, nagu wxWidgets ja Flathub. Süsteem toetab kõiki kaasaegseid VCS-i ja sellel on paindlikud ehitussätted, kasutades nende kirjeldamiseks Pythonit. See aitab teil nende kõigiga toime tulla. ametlik dokumentatsioon ja näiteks kolmandate osapoolte õpetused, siin on lühike IBM käsiraamat.

Loomulikult see pole veel kõik DevOpsi tööriistad, millele väikesed organisatsioonid ja idufirmad peaksid tähelepanu pöörama. Andke kommentaaridesse oma lemmiktööriistad ja proovime neist ühes järgmistest materjalidest rääkida.

Millest me ettevõtte ajaveebis kirjutame:

Allikas: www.habr.com

Lisa kommentaar