CICD for startups: hvilke verktøy finnes og hvorfor ikke bare store og kjente selskaper bruker dem

Utviklere av CICD-verktøy lister ofte opp store selskaper som kunder – Microsoft, Oculus, Red Hat, til og med Ferrari og NASA. Det ser ut til at slike merker bare fungerer med dyre systemer som en oppstart bestående av et par utviklere og en designer ikke har råd til. Men en betydelig del av verktøyene er tilgjengelig for små team.

Vi forteller deg hva du kan være oppmerksom på nedenfor.

CICD for startups: hvilke verktøy finnes og hvorfor ikke bare store og kjente selskaper bruker dem
Bilder - Csaba Balazs — unsplash

PHP-sensur

En åpen kildekode CI-server som gjør det enkelt å bygge prosjekter i PHP. Dette er en del av prosjektet PHPCI. PHPCI selv er fortsatt i utvikling, men ikke like aktivt som før.

PHP Censor kan fungere med GitHub, GitLab, Mercurial og flere andre depoter. For å teste kode bruker verktøyet Atoum, PHP Spec, Behat, Codeception-bibliotekene. Her eksempelfil konfigurasjoner for det første tilfellet:

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

Regnesat PHP Censor er godt egnet for å distribuere små prosjekter, men du må være vert for og konfigurere den selv (selvhostet). Denne oppgaven er forenklet av ganske detaljert dokumentasjon - det er på GitHub.

Rex

Rex er forkortelse for Remote Execution. Systemet ble utviklet av ingeniør Ferenc Erki for å automatisere prosesser i datasenteret. Rex er basert på Perl-skript, men det er ikke nødvendig å kunne dette språket for å samhandle med verktøyet – de fleste operasjoner (for eksempel kopiering av filer) er beskrevet i funksjonsbiblioteket, og skript passer ofte inn i ti linjer. Her er et eksempel for å logge på flere servere og kjø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 å starte ditt bekjentskap med verktøyet med offisiell guide и e-bok, som for tiden er under ferdigstillelse.

Open Build Service (OBS)

Dette er en plattform for å optimalisere utviklingen av distribusjoner. Koden er åpen og er i depotet på GitHub. Forfatteren av verktøyet er selskapet Novell. Hun deltok i utviklingen av SuSE-distribusjonen, og dette prosjektet ble opprinnelig kalt openSUSE Build Service. Det er ingen overraskelse at Open Build Service bruk for byggeprosjekter i openSUSE, Tizen og VideoLAN. Dell, SGI og Intel jobber også med verktøyet. Men blant vanlige brukere er det også små startups. Spesielt for dem samlet forfatterne (side 10) forhåndskonfigurert Software pakke. Selve systemet er helt gratis - du trenger bare å bruke penger på hosting eller en maskinvareserver for å distribuere det.

Men gjennom hele sin eksistens har verktøyet aldri fått et bredt fellesskap. Selv om han var del av Linux Developer Network, ansvarlig for standardisering av det åpne operativsystemet. Det kan være vanskelig Finn svaret på spørsmålet ditt på tematiske fora. Men en av Quora-beboerne bemerket at i IRC chat På Freenode svarer fellesskapsmedlemmer ganske lett. Problemet med et lite samfunn er ikke globalt, siden løsningen på mange problemer er beskrevet i den offisielle dokumentasjonen (PDF og EPUB). Ibid. kan finne beste praksis for arbeid med OBS (det finnes eksempler og tilfeller).

Rundeck

Åpne verktøy (GitHub), som automatiserer oppgaver i datasenteret og skyen ved hjelp av skript. En spesiell skriptserver er ansvarlig for utførelse av dem. Vi kan si at Rundeck er en "datter" av ControlTier-applikasjonsadministrasjonsplattformen. Rundeck skilte seg fra det i 2010 og fikk ny funksjonalitet – for eksempel integrasjoner med Puppet, Chef, Git og Jenkins.

Systemet brukes i The Walt Disney Company, Salesforce и Ticketmaster. Men prosjektet egner seg også for startups. Dette er fordi Rundeck er lisensiert under Apache v2.0-lisensen. Dessuten er verktøyet ganske enkelt å bruke.

En Reddit-beboer som jobbet med Rundeck, говорит, som løste de fleste vanskelighetene på egen hånd. De hjalp ham med dette dokumentasjon og e-bøker, publisert av utviklerne.

Du kan også finne korte veiledninger for å sette opp verktøyet på nettet:

GoCD

Åpne verktøy (GitHub) automatisere kodeversjonskontroll. Det ble introdusert i 2007 av selskapet Thought — da het prosjektet Cruise.

GoCD brukes av ingeniører fra nettbasert bilsalgsside AutoTrader, slektstjenesten Ancestry og kredittkortleverandøren Barclaycard. Imidlertid en fjerdedel av verktøybrukere utgjør en liten bedrift.

Tjenestens popularitet blant startups kan forklares med dens åpenhet - den distribueres under Apache v2.0-lisensen. Samtidig, GoCD Det har plugins for integrasjon med tredjepartsprogramvare - autorisasjonssystemer og skyløsninger. Ekte system ganske komplisert i mestring - den har et stort antall operatører og team. Noen brukere klager også over det dårlige grensesnittet og trenger konfigurere agenter for skalering.

CICD for startups: hvilke verktøy finnes og hvorfor ikke bare store og kjente selskaper bruker dem
Bilder - Matt Wildbore — unsplash

Ønsker du å prøve GoCD i praksis, finner du på prosjektets nettside offisiell dokumentasjon. Det kan også anbefales som en kilde til tilleggsinformasjon GoCD utviklerblogg med manualer på oppsett.

Jenkins

Jenkins er viden kjent og ansett en slags standard innen CICD - selvfølgelig, uten den ville ikke dette utvalget vært helt komplett. Verktøyet dukket opp i 2011, ferd med å bli en gaffel av Project Hudson fra Oracle.

I dag med Jenkins jobber hos NASA, Nintendo og andre store organisasjoner. derimot mer enn 8% brukere står for små team på opptil ti personer. Produktet er helt gratis og distribuert under MIT-lisens. Du må imidlertid være vert for og konfigurere Jenkins selv - det krever en dedikert server.

Gjennom hele instrumentets eksistens har det dannet seg et stort fellesskap rundt det. Brukere kommuniserer aktivt i tråder på Reddit и Google Grupper. Materialer om Jenkins vises også jevnlig på Habré. Hvis du ønsker å bli en del av fellesskapet og begynne å jobbe med Jenkins, er det det offisiell dokumentasjon и utviklerveiledning. Vi anbefaler også følgende guider og bøker:

Jenkins har flere nyttige sideprosjekter. Den første er en plugin Konfigurasjon som kode. Det gjør det enkelt å sette opp Jenkins med lettleste APIer som selv administratorer uten dyp kunnskap om verktøyet kan forstå. Det andre er systemet Jenkins X for skyen. Det akselererer leveringen av applikasjoner distribuert på storskala IT-infrastruktur ved å automatisere noen rutineoppgaver.

Byggebot

Dette er et kontinuerlig integreringssystem for å automatisere bygge- og testsyklusen av applikasjoner. Den sjekker automatisk funksjonaliteten til koden hver gang det gjøres endringer i den.

Forfatteren av verktøyet var ingeniør Brian Warner. I dag er han på vakt endret initiativgruppen Buildbot Oversight Committee, som inkluderer seks utviklere.

Byggebot brukes prosjekter som LLVM, MariaDB, Blender og Dr.Web. Men det brukes også i mindre prosjekter som wxWidgets og Flathub. Systemet støtter alle moderne VCS og har fleksible byggeinnstillinger ved å bruke Python til å beskrive dem. Det vil hjelpe deg med å håndtere dem alle. offisiell dokumentasjon og tredjeparts opplæringsprogrammer, for eksempel, her er en kort en IBM manual.

Selvfølgelig, det er ikke alt DevOps-verktøy som små organisasjoner og startups bør ta hensyn til. Gi favorittverktøyene dine i kommentarene, og vi vil prøve å snakke om dem i et av følgende materialer.

Hva vi skriver om i bedriftsbloggen:

Kilde: www.habr.com

Legg til en kommentar