CICD for startups: hvilke værktøjer findes der, og hvorfor ikke kun store og kendte virksomheder bruger dem

Udviklere af CICD-værktøjer angiver ofte store virksomheder som kunder - Microsoft, Oculus, Red Hat, endda Ferrari og NASA. Det ser ud til, at sådanne mærker kun fungerer med dyre systemer, som en startup bestående af et par udviklere og en designer ikke har råd til. Men en væsentlig del af værktøjerne er tilgængelige for små teams.

Vi fortæller dig, hvad du kan være opmærksom på nedenfor.

CICD for startups: hvilke værktøjer findes der, og hvorfor ikke kun store og kendte virksomheder bruger dem
Ф billeder - Csaba Balazs — Unsplash

PHP censor

En open source CI-server, der gør det nemt at bygge projekter i PHP. Dette er en forgrening af projektet PHPCI. PHPCI selv er stadig under udvikling, men ikke så aktivt som før.

PHP Censor kan arbejde med GitHub, GitLab, Mercurial og flere andre repositories. For at teste kode bruger værktøjet Atoum, PHP Spec, Behat, Codeception bibliotekerne. Her eksempel fil konfigurationer for det første tilfælde:

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

Det menesat PHP Censor er velegnet til at implementere små projekter, men du bliver nødt til at hoste og konfigurere det selv (selv-hostet). Denne opgave er forenklet af ret detaljeret dokumentation - det er på GitHub.

Rex

Rex er en forkortelse for Remote Execution. Systemet er udviklet af ingeniør Ferenc Erki til at automatisere processer i datacentret. Rex er baseret på Perl-scripts, men det er ikke nødvendigt at kunne dette sprog for at interagere med værktøjet – de fleste operationer (for eksempel kopiering af filer) er beskrevet i funktionsbiblioteket, og scripts passer ofte ind i ti linjer. Her er et eksempel på at logge ind på flere servere og køre oppetid:

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

Vi anbefaler at starte dit bekendtskab med værktøjet med officiel guide и e-bog, som er ved at blive afsluttet.

Open Build Service (OBS)

Dette er en platform til at optimere udviklingen af ​​distributioner. Dens kode er åben og er i depotet kl GitHub. Forfatteren til værktøjet er virksomheden Novell. Hun deltog i udviklingen af ​​SuSE-distributionen, og dette projekt blev oprindeligt kaldt openSUSE Build Service. Det er ingen overraskelse, at Open Build Service brug til byggeprojekter i openSUSE, Tizen og VideoLAN. Dell, SGI og Intel arbejder også med værktøjet. Men blandt almindelige brugere er der også små startups. Specielt for dem indsamlede forfatterne (side 10) forudkonfigureret softwarepakke. Selve systemet er helt gratis - du skal kun bruge penge på hosting eller en hardwareserver for at implementere det.

Men gennem hele sin eksistens har værktøjet aldrig fået et bredt fællesskab. Selvom han var del af Linux Developer Network, ansvarlig for standardisering af det åbne OS. Det kan være svært Find svaret på dit spørgsmål på tematiske fora. Men en af ​​Quora-beboerne bemærkede, at i IRC chat På Freenode reagerer fællesskabsmedlemmer ret let. Problemet med et lille samfund er ikke globalt, da løsningen på mange problemer er blevet beskrevet i den officielle dokumentation (PDF og EPUB). Ibid. kan findes bedste praksis for at arbejde med OBS (der er eksempler og cases).

Rundeck

Åbn værktøj (GitHub), som automatiserer opgaver i datacenteret og skyen ved hjælp af scripts. En speciel scriptserver er ansvarlig for deres udførelse. Vi kan sige, at Rundeck er en "datter" af ControlTier-applikationsadministrationsplatformen. Rundeck skilte sig fra det i 2010 og fik ny funktionalitet - for eksempel integrationer med Puppet, Chef, Git og Jenkins.

Systemet bruges i The Walt Disney Company, Salesforce и Ticketmaster. Men projektet er også velegnet til startups. Dette skyldes, at Rundeck er licenseret under Apache v2.0-licensen. Desuden er værktøjet ret nemt at bruge.

En Reddit beboer, der arbejdede med Rundeck, Han taler, som løste de fleste vanskeligheder på egen hånd. De hjalp ham med dette dokumentation og e-bøger, udgivet af udviklerne.

Du kan også finde korte vejledninger til opsætning af værktøjet online:

GoCD

Åbn værktøj (GitHub) automatisering af kodeversionskontrol. Det blev introduceret i 2007 af virksomheden ThoughtWorks — så hed projektet Cruise.

GoCD bruges af ingeniører fra online bilsalgssiden AutoTrader, slægtsforskningstjenesten Ancestry og kreditkortudbyderen Barclaycard. Dog en fjerdedel af værktøjets brugere udgør en lille virksomhed.

Tjenestens popularitet blandt startups kan forklares med dens åbenhed - den distribueres under Apache v2.0-licensen. På samme tid, GoCD Det har plugins til integration med tredjepartssoftware - autorisationssystemer og cloud-løsninger. Ægte system ret kompliceret i mastering - den har et stort antal operatører og teams. Nogle brugere klager også over den dårlige grænseflade og behov konfigurere agenter til skalering.

CICD for startups: hvilke værktøjer findes der, og hvorfor ikke kun store og kendte virksomheder bruger dem
Ф billeder - Matt Wildbore — Unsplash

Hvis du vil prøve GoCD i praksis, kan du finde på projektets hjemmeside officiel dokumentation. Det kan også anbefales som en kilde til yderligere information GoCD-udviklerblog med manualer på opsætning.

Jenkins

Jenkins er almindeligt kendt og betragtede en slags standard inden for CICD - selvfølgelig ville dette udvalg ikke være helt komplet uden den. Værktøjet udkom i 2011, Dam en gaffel af Project Hudson fra Oracle.

I dag med Jenkins работают hos NASA, Nintendo og andre store organisationer. Imidlertid over 8% brugere står for små teams på op til ti personer. Produktet er helt gratis og distribueret under MIT-licens. Du bliver dog selv nødt til at hoste og konfigurere Jenkins - det kræver en dedikeret server.

Gennem hele instrumentets eksistens er der dannet et stort fællesskab omkring det. Brugere kommunikerer aktivt i tråde vedr Reddit и google grupper. Materialer om Jenkins optræder også jævnligt på Habré. Hvis du gerne vil blive en del af fællesskabet og begynde at arbejde med Jenkins, er der officiel dokumentation и udviklervejledning. Vi anbefaler også følgende guider og bøger:

Jenkins har flere nyttige sideprojekter. Den første er et plugin Konfiguration som kode. Det gør opsætning af Jenkins let med letlæselige API'er, som selv administratorer uden dyb viden om værktøjet kan forstå. Det andet er systemet Jenkins X for skyen. Det accelererer leveringen af ​​applikationer implementeret på storskala IT-infrastruktur ved at automatisere nogle rutineopgaver.

Buildbot

Dette er et kontinuerligt integrationssystem til automatisering af opbygnings- og testcyklussen af ​​applikationer. Den kontrollerer automatisk kodens funktionalitet, hver gang der foretages ændringer i den.

Forfatteren af ​​værktøjet var ingeniør Brian Warner. I dag er han på vagt ændret initiativgruppen Buildbot Oversight Committee, som omfatter seks udviklere.

Buildbot brugt projekter som LLVM, MariaDB, Blender og Dr.Web. Men det bruges også i mindre projekter som wxWidgets og Flathub. Systemet understøtter alle moderne VCS og har fleksible build-indstillinger ved at bruge Python til at beskrive dem. Det vil hjælpe dig med at håndtere dem alle. officiel dokumentation og tredjeparts selvstudier, for eksempel, her er en kort IBM manual.

Naturligvis det er ikke alt DevOps-værktøjer, som små organisationer og startups bør være opmærksomme på. Giv dine yndlingsværktøjer i kommentarerne, og vi vil prøve at tale om dem i et af følgende materialer.

Hvad vi skriver om i virksomhedens blog:

Kilde: www.habr.com

Tilføj en kommentar