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

Programeri CICD alata često navode velike tvrtke kao klijente - Microsoft, Oculus, Red Hat, čak i Ferrari i NASA. Čini se da takvi brendovi rade samo sa skupim sustavima 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 što možete obratiti pozornost.

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

PHP Cenzor

CI poslužitelj otvorenog koda koji olakšava izradu projekata u PHP-u. Ovo je račvanje projekta PHPCI. Sam PHPCI se još uvijek razvija, ali ne tako aktivno kao prije.

PHP Censor može raditi s GitHubom, GitLabom, Mercurialom i nekoliko drugih repozitorija. Za testiranje koda, alat koristi biblioteke Atoum, PHP Spec, Behat, Codeception. Ovdje primjer datoteke 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"

smatrada je PHP Censor prikladan za implementaciju malih projekata, ali morat ćete ga sami udomaćiti i konfigurirati (samoudomljen). Ovaj zadatak je pojednostavljen prilično detaljnom dokumentacijom - nalazi se na GitHubu.

Rex

Rex je skraćenica za Remote Execution. Sustav je razvio inženjer Ferenc Erki za automatizaciju procesa u podatkovnom centru. Rex se temelji na Perl skriptama, ali nije potrebno poznavati ovaj jezik za interakciju s alatom - većina operacija (na primjer, kopiranje datoteka) opisana je u biblioteci funkcija, a skripte često stanu u deset redaka. Evo primjera za prijavu na više poslužitelja 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 započnete svoje upoznavanje s alatom 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 repozitoriju na GitHub. Autor alata je tvrtka Novell. Sudjelovala je u razvoju SuSE distribucije, a ovaj projekt se u početku zvao openSUSE Build Service. Nije iznenađenje da Open Build Service koristi za izgradnju projekata u openSUSE, Tizen i VideoLAN. Dell, SGI i Intel također rade s alatom. Ali među redovitim korisnicima postoje i mali startupi. Posebno za njih autori su prikupili (stranicu 10) unaprijed konfiguriran programski paket. Sam sustav je potpuno besplatan - samo morate potrošiti novac na hosting ili hardverski poslužitelj da biste ga postavili.

Ali tijekom svog postojanja, alat nikada nije stekao široku zajednicu. Iako one 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 primijetio je da je u IRC chat Na Freenodeu članovi zajednice vrlo spremno odgovaraju. Problem male sredine nije globalan, jer je opisano rješenje mnogih problema u službenoj dokumentaciji (PDF i EPUB). Ibid. mogu naći najbolje prakse za rad s OBS-om (postoje primjeri i slučajevi).

Rundeck

Otvori alat (GitHub), koji automatizira zadatke u podatkovnom centru i oblaku pomoću skripti. Za njihovo izvršavanje odgovoran je poseban poslužitelj skripti. Možemo reći da je Rundeck “kći” ControlTier platforme za upravljanje aplikacijama. Rundeck se od njega odvojio 2010. godine i dobio nove funkcionalnosti – primjerice, integracije s Puppet, Chef, Git i Jenkins.

Sustav se koristi u Walt Disney Company, Salesforce и Ticketmaster. No projekt je prikladan i za startupe. To je zato što je Rundeck licenciran pod licencom Apache v2.0. Štoviše, alat je prilično jednostavan za korištenje.

Stanovnik Reddita koji je radio s Rundeckom, on govori, koji sam većinu poteškoća riješio sam. U tome su mu pomogli dokumentaciju i e-knjige, koji su objavili programeri.

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

GoCD

Otvori alat (GitHub) automatiziranje kontrole verzije koda. Tvrtka ga je predstavila 2007 ThoughtWorks — tada se projekt zvao Cruise.

GoCD koriste inženjeri s internetske stranice za prodaju automobila AutoTrader, genealoške usluge Ancestry i davatelja kreditnih kartica Barclaycard. Međutim, četvrtina korisnika alata predstavlja malo poduzeće.

Popularnost servisa među startupima može se objasniti njegovom otvorenošću - distribuira se pod licencom Apache v2.0. U isto vrijeme, GoCD Ona ima dodaci za integraciju sa softverom trećih strana – autorizacijski sustavi i rješenja u oblaku. Pravi sustav dosta komplicirano u masteringu - ima veliki broj operatera i timova. Također, neki se korisnici žale na loše sučelje i potreba konfigurirajte agente za skaliranje.

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

Ako želite isprobati 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 s priručnicima na postavljanju.

Jenkins

Jenkins je nadaleko poznat i smatra svojevrstan standard u području CICD-a – naravno, bez njega ovaj izbor ne bi bio posve potpun. Alat se pojavio 2011. postajući fork projekta Hudson iz Oraclea.

Danas s Jenkinsom rade u NASA-i, Nintendu i drugim velikim organizacijama. Međutim preko 8% korisnici računaju za male timove do deset ljudi. Proizvod je potpuno besplatan i distribuiran pod licencom MIT-a. Međutim, morat ćete sami ugostiti i konfigurirati Jenkins - to zahtijeva namjenski poslužitelj.

Tijekom cijelog postojanja instrumenta oko njega se formirala velika zajednica. Korisnici aktivno komuniciraju u temama na Reddit и Google Grupe. Materijali o Jenkinsu također se redovito pojavljuju na Habréu. Ako želite postati dio zajednice i početi raditi s Jenkinsom, postoji službena dokumentacija и vodič za programere. Također preporučujemo sljedeće vodiče i knjige:

Jenkins ima nekoliko korisnih popratnih projekata. Prvi je dodatak Konfiguracija kao kod. Olakšava postavljanje Jenkinsa uz čitljive API-je koje čak i administratori bez dubljeg poznavanja alata mogu razumjeti. Drugi je sustav Jenkins X za oblak. Ubrzava isporuku aplikacija postavljenih na velikoj IT infrastrukturi automatiziranjem nekih rutinskih zadataka.

Buildbot

Ovo je sustav kontinuirane integracije za automatizaciju ciklusa izrade i testiranja aplikacija. Automatski provjerava funkcionalnost koda svaki put kada se na njemu naprave bilo kakve izmjene.

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

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

Naravno, to nije sve DevOps alati na koje male organizacije i startupi trebaju obratiti pozornost. Dajte svoje omiljene alate u komentarima, a mi ćemo pokušati razgovarati o njima u jednom od sljedećih materijala.

O čemu pišemo na korporativnom blogu:

Izvor: www.habr.com

Dodajte komentar