CICD для стартапа: ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ инструмСнты, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΈ извСстныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ

Ontwikkelaars van CICD-instrumente lys dikwels groot maatskappye as kliΓ«nte - Microsoft, Oculus, Red Hat, selfs Ferrari en NASA. Dit wil voorkom asof sulke handelsmerke net met duur stelsels werk wat 'n beginonderneming wat uit 'n paar ontwikkelaars en 'n ontwerper bestaan ​​nie kan bekostig nie. Maar 'n beduidende deel van die gereedskap is beskikbaar vir klein spanne.

Ons sal jou hieronder vertel waarna jy kan aandag gee.

CICD для стартапа: ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ инструмСнты, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΈ извСстныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
Foto - Csaba Balazs β€” Unsplash

PHP sensor

'n Oopbron CI-bediener wat dit maklik maak om projekte in PHP te bou. Dit is 'n vurk van die projek PHPCI. PHPCI self ontwikkel steeds, maar nie so aktief soos voorheen nie.

PHP-sensor kan met GitHub, GitLab, Mercurial en verskeie ander bewaarplekke werk. Om kode te toets, gebruik die instrument die Atoum, PHP Spec, Behat, Codeception biblioteke. Hier voorbeeld lΓͺer konfigurasies vir die eerste geval:

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

beskoudat PHP-sensor goed geskik is vir die implementering van klein projekte, maar jy sal dit self moet aanbied en opstel (self-gehuisves). Hierdie taak word vereenvoudig deur redelik gedetailleerde dokumentasie - dit is op GitHub.

Rex

Rex is kort vir Remote Execution. Die stelsel is ontwikkel deur ingenieur Ferenc Erki om prosesse in die datasentrum te outomatiseer. Rex is gebaseer op Perl-skrifte, maar dit is nie nodig om hierdie taal te ken om met die instrument te werk nie – die meeste bewerkings (byvoorbeeld kopieer van lΓͺers) word in die funksiebiblioteek beskryf, en skrifte pas dikwels in tien reΓ«ls. Hier is 'n voorbeeld om by veelvuldige bedieners aan te meld en uptyd te laat loop:

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

Ons beveel aan om u kennis te maak met die instrument met amptelike gids ΠΈ e-boek, wat tans voltooi word.

Oopboudiens (OBS)

Dit is 'n platform vir die optimalisering van die ontwikkeling van verspreidings. Die kode is oop en is in die bewaarplek by GitHub. Die outeur van die instrument is die maatskappy Novell. Sy het deelgeneem aan die ontwikkeling van die SuSE-verspreiding, en hierdie projek is aanvanklik openSUSE Build Service genoem. Dit is geen verrassing dat Open Build Service gebruik vir bouprojekte in openSUSE, Tizen en VideoLAN. Dell, SGI en Intel werk ook met die instrument. Maar onder gereelde gebruikers is daar ook klein ondernemings. Die skrywers het veral vir hulle versamel (bladsy 10) vooraf gekonfigureer sagteware pakket. Die stelsel self is heeltemal gratis - jy hoef net geld te spandeer op hosting of 'n hardeware-bediener om dit te ontplooi.

Maar regdeur sy bestaan ​​het die instrument nog nooit 'n wye gemeenskap verkry nie. Alhoewel hy was deel van die Linux-ontwikkelaarsnetwerk, verantwoordelik vir die standaardisering van die oop bedryfstelsel. Dit kan moeilik wees Vind die antwoord op jou vraag op tematiese forums. Maar een van die Quora-inwoners het opgemerk dat in IRC-klets Op Freenode reageer gemeenskapslede redelik geredelik. Die probleem van 'n klein gemeenskap is nie wΓͺreldwyd nie, aangesien die oplossing vir baie probleme beskryf is in die amptelike dokumentasie (PDF en EPUB). Ibid. kan vind beste praktyke om met OBS te werk (daar is voorbeelde en gevalle).

Rundek

Maak gereedskap oop (GitHub), wat take in die datasentrum en wolk outomatiseer met behulp van skrifte. 'n Spesiale skripbediener is verantwoordelik vir die uitvoering daarvan. Ons kan sΓͺ dat Rundeck 'n "dogter" van die ControlTier-toepassingsbestuurplatform is. Rundeck het in 2010 daarvan geskei en nuwe funksionaliteit verkry – byvoorbeeld integrasies met Puppet, Chef, Git en Jenkins.

Die stelsel word gebruik in Die Walt Disney Company, Sales Force ΠΈ Ticket. Maar die projek is ook geskik vir beginners. Dit is omdat Rundeck onder die Apache v2.0-lisensie gelisensieer is. Boonop is die instrument redelik maklik om te gebruik.

'n Reddit-inwoner wat saam met Rundeck gewerk het, hy praat, wat die meeste van die probleme op my eie opgelos het. Hulle het hom hiermee gehelp dokumentasie en e-boeke, gepubliseer deur die ontwikkelaars.

U kan ook kort gidse vind om die instrument aanlyn op te stel:

GoCD

Maak gereedskap oop (GitHub) outomatisering van kodeweergawebeheer. Dit is in 2007 deur die maatskappy bekendgestel ThoughtWorks β€” toe heet die projek Cruise.

GoCD word gebruik deur ingenieurs van die aanlyn motorverkope webwerf AutoTrader, genealogiese diens Ancestry en kredietkaartverskaffer Barclaycard. Maar 'n kwart van die instrument gebruikers klein besigheid uitmaak.

Die gewildheid van die diens onder beginners kan verklaar word deur sy openheid - dit word onder die Apache v2.0-lisensie versprei. Terselfdertyd, GoCD Dit het plugins vir integrasie met derdeparty-sagteware - magtigingstelsels en wolkoplossings. Ware stelsel nogal ingewikkeld in bemeestering - dit het 'n groot aantal operateurs en spanne. Sommige gebruikers kla ook oor die swak koppelvlak en noodsaaklikheid stel agente op vir skaal.

CICD для стартапа: ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ инструмСнты, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΈ извСстныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
Foto - Matt Wildbore β€” Unsplash

As jy GoCD in die praktyk wil probeer, kan jy dit op die projekwebwerf vind amptelike dokumentasie. Dit kan ook aanbeveel word as 'n bron van bykomende inligting GoCD-ontwikkelaarblog met handleidings op opstelling.

Jenkins

Jenkins is wyd bekend en beskou 'n soort standaard op die gebied van CICD - natuurlik, daarsonder sou hierdie seleksie nie heeltemal volledig wees nie. Die instrument het in 2011 verskyn, wording 'n vurk van Project Hudson van Oracle.

Vandag saam met Jenkins werk by NASA, Nintendo en ander groot organisasies. Egter meer as 8% gebruikers is verantwoordelik vir klein spanne van tot tien mense. Die produk is heeltemal gratis en versprei onder MIT-lisensie. U sal egter self Jenkins moet huisves en opstel - dit vereis 'n toegewyde bediener.

Oor die hele bestaan ​​van die instrument het 'n groot gemeenskap rondom dit gevorm. Gebruikers kommunikeer aktief in drade oor reddit ΠΈ Google Groups. Materiaal oor Jenkins verskyn ook gereeld op HabrΓ©. As jy graag deel van die gemeenskap wil word en met Jenkins wil begin werk, is daar amptelike dokumentasie ΠΈ ontwikkelaargids. Ons beveel ook die volgende gidse en boeke aan:

Jenkins het verskeie nuttige byprojekte. Die eerste een is 'n inprop Konfigurasie as kode. Dit maak die opstel van Jenkins maklik met maklik leesbare API's wat selfs administrateurs sonder diepgaande kennis van die instrument kan verstaan. Die tweede is die stelsel Jenkins X vir die wolk. Dit versnel die aflewering van toepassings wat op grootskaalse IT-infrastruktuur ontplooi word deur sommige roetinetake te outomatiseer.

boubot

Dit is 'n deurlopende integrasiestelsel vir die outomatisering van die bou- en toetssiklus van toepassings. Dit kontroleer outomaties die funksionaliteit van die kode elke keer as enige veranderinge daaraan gemaak word.

Die skrywer van die instrument was ingenieur Brian Warner. Vandag is hy aan diens verander die Buildbot Oversight Committee-inisiatiefgroep, wat ses ontwikkelaars insluit.

boubot word gebruik projekte soos LLVM, MariaDB, Blender en Dr.Web. Maar dit word ook in kleiner projekte soos wxWidgets en Flathub gebruik. Die stelsel ondersteun alle moderne VCS en het buigsame bouinstellings deur Python te gebruik om dit te beskryf. Dit sal jou help om hulle almal te hanteer. amptelike dokumentasie en derdeparty-tutoriale, byvoorbeeld, hier is 'n kort een IBM handleiding.

Van die kursus, dis nie al nie DevOps-nutsgoed waaraan klein organisasies en beginners aandag moet gee. Gee jou gunsteling gereedskap in die kommentaar, en ons sal probeer om daaroor te praat in een van die volgende materiaal.

Waaroor ons in die korporatiewe blog skryf:

Bron: will.com

Voeg 'n opmerking