CICD za startupe: koji alati postoje i zašto ih ne koriste samo velike i poznate kompanije

Programeri CICD alata često navode velike kompanije kao klijente - Microsoft, Oculus, Red Hat, čak i Ferrari i NASA. Čini se da takvi brendovi rade samo sa skupim sistemima koje startup koji se sastoji od nekoliko programera i dizajnera ne može priuštiti. Ali značajan dio alata dostupan je malim timovima.

U nastavku ćemo vam reći na šta možete obratiti pažnju.

CICD za startupe: koji alati postoje i zašto ih ne koriste samo velike i poznate kompanije
Foto - Csaba Balazs — Unsplash

PHP Censor

CI server otvorenog koda koji olakšava pravljenje projekata u PHP-u. Ovo je fork projekta PHPCI. Sam PHPCI se još uvijek razvija, ali ne tako aktivno kao prije.

PHP Censor može raditi sa GitHub-om, GitLab-om, Mercurial-om i nekoliko drugih spremišta. Za testiranje koda, alat koristi biblioteke Atoum, PHP Spec, Behat, Codeception. Evo primjer fajla konfiguracije za prvi slučaj:

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

Razmatranoda je PHP Censor veoma pogodan za implementaciju malih projekata, ali ćete morati sami da ga hostujete i konfigurišete (samo-hostovan). Ovaj zadatak je pojednostavljen prilično detaljnom dokumentacijom - nalazi se na GitHubu.

Rex

Rex je skraćenica od Remote Execution. Sistem je razvio inženjer Ferenc Erki za automatizaciju procesa u data centru. Rex je baziran na Perl skriptama, ali nije potrebno poznavati ovaj jezik za interakciju s alatom - većina operacija (na primjer, kopiranje datoteka) je opisana u biblioteci funkcija, a skripte se često uklapaju u deset redova. Evo primjera za prijavu na više servera i pokretanje neprekidnog rada:

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

Preporučujemo da svoje upoznavanje sa alatom započnete sa službeni vodič и e-knjiga, koji se trenutno završava.

Open Build Service (OBS)

Ovo je platforma za optimizaciju razvoja distribucija. Njegov kod je otvoren i nalazi se u spremištu na adresi GitHub. Autor alata je kompanija Novell. Učestvovala je u razvoju SuSE distribucije, a ovaj projekat se u početku zvao openSUSE Build Service. Nije iznenađenje da Open Build Service koristiti za izgradnju projekata u openSUSE, Tizen i VideoLAN. Dell, SGI i Intel takođe rade sa alatom. Ali među redovnim korisnicima ima i malih startupa. Posebno za njih, autori su prikupili (stranica 10) unaprijed konfigurisan softverski paket. Sam sistem je potpuno besplatan - samo morate potrošiti novac na hosting ili hardverski server da biste ga postavili.

Ali tokom svog postojanja, alat nikada nije stekao široku zajednicu. Iako on je bio dio Linux Developer Network, odgovoran za standardizaciju otvorenog OS-a. Može biti teško Pronađite odgovor na svoje pitanje na tematskim forumima. Ali jedan od stanovnika Quore je to primijetio u IRC chat Na Freenodeu, članovi zajednice odgovaraju prilično spremno. Problem male zajednice nije globalan, jer je opisano rješenje mnogih problema u službenoj dokumentaciji (PDF i EPUB). Ibid. mogu naći najbolje prakse za rad sa OBS-om (postoje primjeri i slučajevi).

Rundeck

Otvoreni alat (GitHub), koji automatizira zadatke u podatkovnom centru i oblaku pomoću skripti. Za njihovo izvršavanje odgovoran je poseban server skripti. Možemo reći da je Rundeck “kći” ControlTier platforme za upravljanje aplikacijama. Rundeck se odvojio od njega 2010. godine i dobio novu funkcionalnost - na primjer, integracije sa Puppet, Chef, Git i Jenkins.

Sistem se koristi u Walt Disney Company, Salesforce и Ticketmaster. Ali projekat je pogodan i za startape. To je zato što je Rundeck licenciran pod licencom Apache v2.0. Osim toga, alat je prilično jednostavan za korištenje.

Stanovnik Reddita koji je radio sa Rundeckom, kaže, čime sam većinu poteškoća sam riješio. Oni su mu pomogli u tome dokumentaciju i e-knjige, koju su objavili programeri.

Također možete pronaći kratke vodiče za postavljanje alata na mreži:

GoCD

Otvoreni alat (GitHub) automatizacija kontrole verzije koda. Kompanija ga je predstavila 2007. godine ThoughtWorks — tada se projekat zvao Cruise.

GoCD koriste inženjeri sa sajta za online prodaju automobila AutoTrader, genealoškog servisa Ancestry i dobavljača kreditnih kartica Barclaycard. Međutim, četvrtina korisnika alata predstavlja mali biznis.

Popularnost usluge među startupima može se objasniti njenom otvorenošću - distribuira se pod licencom Apache v2.0. U isto vrijeme, GoCD Ima dodaci za integraciju sa softverom treće strane - sistemi za autorizaciju i cloud rješenja. Pravi sistem prilično komplikovano u masteringu - ima veliki broj operatera i timova. Takođe, neki korisnici se žale na loš interfejs i treba konfigurirati agente za skaliranje.

CICD za startupe: koji alati postoje i zašto ih ne koriste samo velike i poznate kompanije
Foto - Matt Wildbore — Unsplash

Ako želite da isprobate GoCD u praksi, možete pronaći na web stranici projekta službena dokumentacija. Može se preporučiti i kao izvor dodatnih informacija GoCD Developer Blog sa priručnicima po postavljanju.

Jenkins

Dženkins je nadaleko poznat i razmatra se svojevrsni standard u oblasti CICD-a - naravno, bez njega ovaj izbor ne bi bio u potpunosti potpun. Alat se pojavio 2011. postajanje viljuška projekta Hudson iz Oraclea.

Danas sa Dženkinsom rabotaût u NASA-i, Nintendou i drugim velikim organizacijama. kako god više od 8% korisnici čine male timove do deset ljudi. Proizvod je potpuno besplatan i distribuiran pod MIT licencom. Međutim, moraćete sami da hostujete i konfigurišete Jenkins - za to je potreban namenski server.

Tokom čitavog postojanja instrumenta oko njega se formirala velika zajednica. Korisnici aktivno komuniciraju u temama na Reddit и Google Grupe. Materijali o Dženkinsu se takođe redovno pojavljuju na Habréu. Ako želite da postanete dio zajednice i počnete raditi sa Jenkinsom, postoji službena dokumentacija и vodič za programere. Također preporučujemo sljedeće vodiče i knjige:

Jenkins ima nekoliko korisnih sporednih projekata. Prvi je dodatak Konfiguracija kao kod. Olakšava postavljanje Jenkinsa uz lako čitljive API-je koje čak i administratori bez dubokog poznavanja alata mogu razumjeti. Drugi je sistem Dženkins X za oblak. Ubrzava isporuku aplikacija raspoređenih na IT infrastrukturi velikih razmjera automatizacijom nekih rutinskih zadataka.

Buildbot

Ovo je kontinuirani sistem integracije za automatizaciju ciklusa izgradnje i testiranja aplikacija. On automatski provjerava funkcionalnost koda svaki put kada se na njemu izvrše bilo kakve promjene.

Autor alata bio je inženjer Brian Warner. Danas je na dužnosti promijenio inicijativna grupa Buildbot Oversight Committee, koja uključuje šest programera.

Buildbot polovan projekti kao što su LLVM, MariaDB, Blender i Dr.Web. Ali se također koristi u manjim projektima kao što su wxWidgets i Flathub. Sistem podržava sve moderne VCS i ima fleksibilne postavke izrade koristeći Python da ih opiše. To će vam pomoći da se nosite sa svima njima. službena dokumentacija i tutorijale trećih strana, na primjer, evo kratkog IBM priručnik.

Naravno, to nije sve DevOps alati na koje male organizacije i startupi trebaju obratiti pažnju. Navedite svoje omiljene alate u komentarima, a mi ćemo pokušati pričati o njima u jednom od sljedećih materijala.

O čemu pišemo na korporativnom blogu:

izvor: www.habr.com

Dodajte komentar