CICD za startupe: katera orodja obstajajo in zakaj jih ne uporabljajo le velika in znana podjetja

Razvijalci orodij CICD kot stranke pogosto navajajo velika podjetja – Microsoft, Oculus, Red Hat, celo Ferrari in NASA. Zdi se, da takšne znamke delajo samo z dragimi sistemi, ki si jih startup, sestavljen iz nekaj razvijalcev in oblikovalca, ne more privoščiti. Toda pomemben del orodij je na voljo za majhne ekipe.

Spodaj vam bomo povedali, na kaj ste lahko pozorni.

CICD za startupe: katera orodja obstajajo in zakaj jih ne uporabljajo le velika in znana podjetja
Foto - Csaba Balazs — unsplash

Cenzor PHP

Odprtokodni strežnik CI, ki olajša gradnjo projektov v PHP. To je razcep projekta PHPCI. PHPCI se še vedno razvija, vendar ne tako aktivno kot prej.

PHP Censor lahko deluje z GitHub, GitLab, Mercurial in številnimi drugimi repozitoriji. Za testiranje kode orodje uporablja knjižnice Atoum, PHP Spec, Behat, Codeception. Tukaj primer datoteke konfiguracije za prvi primer:

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

Upoštevanoda je PHP Censor zelo primeren za uvajanje majhnih projektov, vendar ga boste morali gostiti in konfigurirati sami (samogostitelj). To nalogo poenostavi dokaj podrobna dokumentacija – je na GitHubu.

Rex

Rex je okrajšava za Remote Execution. Sistem je razvil inženir Ferenc Erki za avtomatizacijo procesov v podatkovnem centru. Rex temelji na skriptih Perl, vendar za interakcijo z orodjem ni potrebno poznati tega jezika - večina operacij (na primer kopiranje datotek) je opisanih v knjižnici funkcij, skripti pa se pogosto prilegajo v deset vrstic. Tukaj je primer za prijavo v več strežnikov in izvajanje časa delovanja:

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

Priporočamo, da začnete svoje seznanjanje z orodjem uradni vodnik и e-knjiga, ki je trenutno v zaključku.

Odprta storitev gradnje (OBS)

To je platforma za optimizacijo razvoja distribucij. Njegova koda je odprta in je v repozitoriju na naslovu GitHub. Avtor orodja je podjetje Novell. Sodelovala je pri razvoju distribucije SuSE, ta projekt pa se je sprva imenoval openSUSE Build Service. Ni presenetljivo, da Open Build Service uporabo za gradnjo projektov v openSUSE, Tizen in VideoLAN. Z orodjem sodelujejo tudi Dell, SGI in Intel. Toda med rednimi uporabniki so tudi majhni startupi. Posebej zanje so avtorji zbrali (stran 10) vnaprej konfiguriran programski paket. Sam sistem je popolnoma brezplačen - porabiti morate le denar za gostovanje ali strojni strežnik, da ga namestite.

Toda ves čas svojega obstoja orodje nikoli ni pridobilo široke skupnosti. čeprav bil je del Linux Developer Network, odgovoren za standardizacijo odprtega OS. Lahko je težko Poiščite odgovor na svoje vprašanje na tematskih forumih. Toda eden od prebivalcev Quore je opozoril, da v IRC klepet Na Freenode se člani skupnosti zelo hitro odzovejo. Problem majhne skupnosti ni globalen, saj je rešitev številnih problemov opisana v uradni dokumentaciji (PDF in EPUB). Ibid. lahko najdem najboljše prakse za delo z OBS (obstajajo primeri in primeri).

Rundeck

Odpri orodje (GitHub), ki avtomatizira naloge v podatkovnem centru in oblaku s pomočjo skriptov. Za njihovo izvajanje je odgovoren poseben skriptni strežnik. Lahko rečemo, da je Rundeck »hči« platforme za upravljanje aplikacij ControlTier. Rundeck se je od njega ločil leta 2010 in pridobil nove funkcionalnosti – na primer integracije s programi Puppet, Chef, Git in Jenkins.

Sistem se uporablja v Walt Disney Company, Salesforce и Ticketmaster. A projekt je primeren tudi za startupe. To je zato, ker je Rundeck licenciran pod licenco Apache v2.0. Poleg tega je orodje precej enostavno za uporabo.

Prebivalec Reddita, ki je delal z Rundeckom, pravi, ki je večino težav rešila sama. Pri tem so mu pomagali dokumentacijo in e-knjige, ki so ga objavili razvijalci.

Na spletu lahko najdete tudi kratka navodila za nastavitev orodja:

GoCD

Odpri orodje (GitHub) avtomatiziranje nadzora različic kode. Leta 2007 ga je predstavilo podjetje ThoughtWorks — takrat se je projekt imenoval Cruise.

GoCD uporabljajo inženirji spletnega mesta za prodajo avtomobilov AutoTrader, genealoške storitve Ancestry in ponudnika kreditnih kartic Barclaycard. Vendar četrtina uporabnikov orodja predstavlja malo podjetje.

Priljubljenost storitve med startupi je mogoče razložiti z njeno odprtostjo - distribuira se pod licenco Apache v2.0. Hkrati pa GoCD Ima vtičniki za integracijo s programsko opremo tretjih oseb – avtorizacijski sistemi in rešitve v oblaku. Pravi sistem precej zapleteno pri masteringu - ima veliko število operaterjev in ekip. Prav tako se nekateri uporabniki pritožujejo nad slabim vmesnikom in potrebujemo konfigurirajte agente za skaliranje.

CICD za startupe: katera orodja obstajajo in zakaj jih ne uporabljajo le velika in znana podjetja
Foto - Matt Wildbore — unsplash

Če želite preizkusiti GoCD v praksi, lahko najdete na spletni strani projekta uradna dokumentacija. Lahko se priporoči tudi kot vir dodatnih informacij Blog razvijalca GoCD s priročniki pri nastavitvi.

Jenkins

Jenkins je splošno znan in obravnavati neke vrste standard na področju CICD – seveda brez tega ta izbor ne bi bil povsem popoln. Orodje se je pojavilo leta 2011, postaja razcep projekta Hudson iz Oracla.

Danes z Jenkinsom delati pri Nasi, Nintendu in drugih velikih organizacijah. Vendar več kot 8% uporabniki predstavljajo majhne skupine do deset ljudi. Izdelek je popolnoma brezplačen in distribuiran pod licenco MIT. Vendar pa boste morali Jenkins gostiti in konfigurirati sami - za to je potreben namenski strežnik.

V celotnem obstoju inštrumenta se je okoli njega oblikovala velika skupnost. Uporabniki aktivno komunicirajo v nitih na Reddit и Google Skupine. Gradivo o Jenkinsu se redno pojavlja tudi na Habréju. Če bi radi postali del skupnosti in začeli sodelovati z Jenkinsom, obstaja uradna dokumentacija и vodnik za razvijalce. Priporočamo tudi naslednje vodnike in knjige:

Jenkins ima več uporabnih stranskih projektov. Prvi je vtičnik Konfiguracija kot koda. Poenostavlja nastavitev Jenkinsa z lahko berljivimi API-ji, ki jih lahko razumejo tudi skrbniki brez poglobljenega poznavanja orodja. Drugi je sistem Jenkins X za oblak. Pospešuje dostavo aplikacij, nameščenih v obsežni IT infrastrukturi, z avtomatizacijo nekaterih rutinskih opravil.

Buildbot

To je neprekinjen integracijski sistem za avtomatizacijo cikla gradnje in testiranja aplikacij. Samodejno preveri funkcionalnost kode vsakič, ko jo spremenite.

Avtor orodja je bil inženir Brian Warner. Danes je v službi spremenjena iniciativna skupina Buildbot Oversight Committee, ki vključuje šest razvijalcev.

Buildbot rabljeni projekti, kot so LLVM, MariaDB, Blender in Dr.Web. Uporablja pa se tudi v manjših projektih, kot sta wxWidgets in Flathub. Sistem podpira vse sodobne VCS in ima prilagodljive nastavitve gradnje z uporabo Pythona za njihov opis. Pomagal vam bo pri soočanju z vsemi. uradna dokumentacija in na primer vadnice tretjih oseb, tukaj je kratka IBM priročnik.

Seveda, to še ni vse Orodja DevOps, na katera morajo biti pozorne majhne organizacije in startupi. V komentarje navedite svoja najljubša orodja in o njih bomo poskušali govoriti v enem od naslednjih materialov.

O čem pišemo v korporativnem blogu:

Vir: www.habr.com

Dodaj komentar