CICD för startups: vilka verktyg finns det och varför inte bara stora och välkända företag använder dem

Utvecklare av CICD-verktyg listar ofta stora företag som kunder – Microsoft, Oculus, Red Hat, till och med Ferrari och NASA. Det verkar som att sådana varumärken bara fungerar med dyra system som en startup bestående av ett par utvecklare och en designer inte har råd med. Men en betydande del av verktygen är tillgängliga för små team.

Vi berättar vad du kan vara uppmärksam på nedan.

CICD för startups: vilka verktyg finns det och varför inte bara stora och välkända företag använder dem
Фото - Csaba Balazs — unsplash

PHP-censor

En CI-server med öppen källkod som gör det enkelt att bygga projekt i PHP. Detta är en gaffel av projektet PHPCI. PHPCI i sig utvecklas fortfarande, men inte lika aktivt som tidigare.

PHP Censor kan fungera med GitHub, GitLab, Mercurial och flera andra repositories. För att testa kod använder verktyget biblioteken Atoum, PHP Spec, Behat, Codeception. Här exempelfil konfigurationer för det första fallet:

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

Man troratt PHP Censor är väl lämpad för att distribuera små projekt, men du måste vara värd och konfigurera den själv (självvärd). Denna uppgift förenklas av ganska detaljerad dokumentation - det finns på GitHub.

Rex

Rex är en förkortning för Remote Execution. Systemet utvecklades av ingenjör Ferenc Erki för att automatisera processer i datacentret. Rex är baserat på Perl-skript, men det är inte nödvändigt att kunna detta språk för att interagera med verktyget - de flesta operationer (till exempel kopiering av filer) beskrivs i funktionsbiblioteket, och skript ryms ofta i tio rader. Här är ett exempel för att logga in på flera servrar och köra drifttid:

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 rekommenderar att du börjar bekanta dig med verktyget med officiell guide и e-bok, som för närvarande håller på att slutföras.

Open Build Service (OBS)

Detta är en plattform för att optimera utvecklingen av distributioner. Dess kod är öppen och finns i förvaret på GitHub. Verktygets författare är företaget Novell. Hon deltog i utvecklingen av SuSE-distributionen, och detta projekt kallades från början openSUSE Build Service. Det är ingen överraskning att Open Build Service begagnade för byggprojekt i openSUSE, Tizen och VideoLAN. Dell, SGI och Intel arbetar också med verktyget. Men bland vanliga användare finns även små startups. Speciellt för dem samlade författarna (sida 10) förkonfigurerad mjukvarupaket. Systemet i sig är helt gratis - du behöver bara spendera pengar på hosting eller en hårdvaruserver för att distribuera det.

Men under hela sin existens har verktyget aldrig fått en bred gemenskap. Fastän han var del av Linux Developer Network, ansvarig för standardisering av det öppna operativsystemet. Det kan vara svårt Hitta svaret på din fråga på tematiska forum. Men en av Quora-invånarna noterade att i IRC-chatt På Freenode svarar communitymedlemmar ganska lätt. Problemet med ett litet samhälle är inte globalt, eftersom lösningen på många problem har beskrivits i den officiella dokumentationen (PDF och EPUB). Ibid. kan hittas bästa praxis för att arbeta med OBS (det finns exempel och fall).

Rundeck

Öppna verktyg (GitHub), som automatiserar uppgifter i datacentret och molnet med hjälp av skript. En speciell skriptserver är ansvarig för deras exekvering. Vi kan säga att Rundeck är en "dotter" till ControlTier-applikationshanteringsplattformen. Rundeck separerades från det 2010 och fick ny funktionalitet - till exempel integrationer med Puppet, Chef, Git och Jenkins.

Systemet används i Walt Disney Company, Salesforce и Ticketmaster. Men projektet lämpar sig även för startups. Detta beror på att Rundeck är licensierad under Apache v2.0-licensen. Dessutom är verktyget ganska lätt att använda.

En Reddit-invånare som arbetade med Rundeck, han talar, vilket löste de flesta svårigheterna på egen hand. De hjälpte honom med detta dokumentation och e-böcker, publicerad av utvecklarna.

Du kan också hitta korta guider för att ställa in verktyget online:

GoCD

Öppna verktyg (GitHub) automatisera kodversionskontroll. Det introducerades 2007 av företaget Thoughtworks — då hette projektet Cruise.

GoCD används av ingenjörer från bilförsäljningswebbplatsen AutoTrader, släktforskningstjänsten Ancestry och kreditkortsleverantören Barclaycard. Däremot en fjärdedel av verktygsanvändarna utgör ett litet företag.

Tjänstens popularitet bland nystartade företag kan förklaras av dess öppenhet - den distribueras under Apache v2.0-licensen. Samtidigt, GoCD Det har plugins för integration med tredjepartsprogramvara - auktoriseringssystem och molnlösningar. Riktigt system Ganska komplicerat i mastering - den har ett stort antal operatörer och team. Vissa användare klagar också över det dåliga gränssnittet och nödvändighet konfigurera agenter för skalning.

CICD för startups: vilka verktyg finns det och varför inte bara stora och välkända företag använder dem
Фото - Matt Wildbore — unsplash

Om du vill prova GoCD i praktiken hittar du på projektets hemsida officiell dokumentation. Det kan också rekommenderas som en källa för ytterligare information GoCD-utvecklarblogg med manualer på installationen.

Jenkins

Jenkins är vida känd och anses en sorts standard inom CICD-området - utan den skulle naturligtvis detta urval inte vara helt komplett. Verktyget dök upp 2011, damm en gaffel av Project Hudson från Oracle.

Idag med Jenkins работают hos NASA, Nintendo och andra stora organisationer. dock över 8% användare står för små team på upp till tio personer. Produkten är helt gratis och distribuerad under MIT-licens. Du måste dock vara värd för och konfigurera Jenkins själv - det kräver en dedikerad server.

Under hela instrumentets existens har en stor gemenskap bildats runt det. Användare kommunicerar aktivt i trådar om reddit и Google-grupper. Material om Jenkins dyker också upp regelbundet på Habré. Om du vill bli en del av gemenskapen och börja arbeta med Jenkins, finns det officiell dokumentation и utvecklarguide. Vi rekommenderar även följande guider och böcker:

Jenkins har flera användbara sidoprojekt. Den första är en plugin Konfiguration som kod. Det gör det enkelt att installera Jenkins med lättlästa API:er som även administratörer utan djup kunskap om verktyget kan förstå. Det andra är systemet Jenkins X för molnet. Det påskyndar leveransen av applikationer som distribueras på storskalig IT-infrastruktur genom att automatisera vissa rutinuppgifter.

Byggbot

Detta är ett kontinuerligt integrationssystem för att automatisera bygg- och testcykeln av applikationer. Den kontrollerar automatiskt kodens funktionalitet varje gång några ändringar görs i den.

Författaren till verktyget var ingenjör Brian Warner. Idag är han i tjänst ändrats initiativgruppen Buildbot Oversight Committee, som omfattar sex utvecklare.

Byggbot används projekt som LLVM, MariaDB, Blender och Dr.Web. Men det används också i mindre projekt som wxWidgets och Flathub. Systemet stöder alla moderna VCS och har flexibla bygginställningar genom att använda Python för att beskriva dem. Det kommer att hjälpa dig att hantera dem alla. officiell dokumentation och tutorials från tredje part, till exempel, här är en kort IBM manual.

Naturligtvis, det är inte allt DevOps-verktyg som små organisationer och startups bör vara uppmärksamma på. Ge dina favoritverktyg i kommentarerna, så kommer vi att försöka prata om dem i något av följande material.

Vad vi skriver om i företagsbloggen:

Källa: will.com

Lägg en kommentar