CICD por noventreprenoj: kiaj iloj ekzistas kaj kial ne nur grandaj kaj konataj kompanioj uzas ilin

Programistoj de CICD-iloj ofte listigas grandajn kompaniojn kiel klientojn - Microsoft, Oculus, Red Hat, eĉ Ferrari kaj NASA. Ŝajnus, ke tiaj markoj funkcias nur kun multekostaj sistemoj, kiujn noventrepreno konsistanta el paro da programistoj kaj dezajnisto ne povas pagi. Sed grava parto de la iloj disponeblas por malgrandaj teamoj.

Ni diros al vi, kion vi povas atenti sube.

CICD por noventreprenoj: kiaj iloj ekzistas kaj kial ne nur grandaj kaj konataj kompanioj uzas ilin
Фото - Csaba Balazs — Malŝprucigi

PHP Cenzuro

Malfermfonta CI-servilo kiu faciligas konstrui projektojn en PHP. Ĉi tio estas forko de la projekto PHPCI. PHPCI mem ankoraŭ evoluas, sed ne tiel aktive kiel antaŭe.

PHP Censor povas funkcii kun GitHub, GitLab, Mercurial kaj pluraj aliaj deponejoj. Por testi kodon, la ilo uzas la bibliotekojn Atoum, PHP Spec, Behat, Codeception. Jen ekzemplo dosiero agordoj por la unua kazo:

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

Estas konsideratake PHP Censor bone taŭgas por disfaldi malgrandajn projektojn, sed vi devos gastigi kaj agordi ĝin mem (mem-gastigita). Ĉi tiu tasko estas simpligita per sufiĉe detala dokumentado - ĝi estas en GitHub.

Rex

Rex estas mallonga por Remote Execution. La sistemo estis evoluigita de inĝeniero Ferenc Erki por aŭtomatigi procezojn en la datumcentro. Rex baziĝas sur Perl-skriptoj, sed ne necesas koni ĉi tiun lingvon por interagi kun la ilo - la plej multaj operacioj (ekzemple kopiado de dosieroj) estas priskribitaj en la funkcibiblioteko, kaj skriptoj ofte taŭgas en dek linioj. Jen ekzemplo por ensaluti en multoblaj serviloj kaj funkciigado de tempodaŭro:

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

Ni rekomendas komenci vian konaton kun la ilo per oficiala gvidilo и e-libro, kiu nuntempe estas finkonstruita.

Malferma Konstrua Servo (OBS)

Ĉi tio estas platformo por optimumigi la disvolviĝon de distribuoj. Ĝia kodo estas malfermita kaj estas en la deponejo ĉe GitHub. La aŭtoro de la ilo estas la kompanio Novell. Ŝi partoprenis la evoluon de la SuSE-distribuo, kaj ĉi tiu projekto estis komence nomita openSUSE Build Service. Ne estas surprizo, ke Open Build Service uzi por konstrui projektojn en openSUSE, Tizen kaj VideoLAN. Dell, SGI kaj Intel ankaŭ laboras kun la ilo. Sed inter kutimaj uzantoj ekzistas ankaŭ malgrandaj noventreprenoj. Precipe por ili la aŭtoroj kolektis (paĝo 10) antaŭkonfiguritaj programarpakaĵo. La sistemo mem estas tute senpaga - vi nur devas elspezi monon por gastigado aŭ aparataro servilo por deploji ĝin.

Sed dum sia tuta ekzisto, la ilo neniam akiris larĝan komunumon. Kvankam li estis parto de la Linukso-Ellaboranto-Reto, respondeca por normigado de la malferma OS. Ĝi povas esti malfacila Trovu la respondon al via demando sur temaj forumoj. Sed unu el la loĝantoj de Quora notis tion en IRC-babilejo Sur Freenode, komunumanoj respondas sufiĉe facile. La problemo de malgranda komunumo ne estas tutmonda, ĉar la solvo de multaj problemoj estis priskribita en la oficiala dokumentaro (PDF kaj EPUB). Ibid. povas trovi plej bonaj praktikoj por labori kun OBS (estas ekzemploj kaj kazoj).

Rundeck

Malfermu ilon (GitHub), kiu aŭtomatigas taskojn en la datumcentro kaj nubo uzante skriptojn. Speciala skriptservilo respondecas pri ilia ekzekuto. Ni povas diri, ke Rundeck estas "filino" de la platformo de administrado de aplikaĵoj ControlTier. Rundeck disiĝis de ĝi en 2010 kaj akiris novan funkciecon - ekzemple, integriĝojn kun Puppet, Chef, Git kaj Jenkins.

La sistemo estas uzata en La Walt Disney Kompanio, Salesforce и Ticketmaster. Sed la projekto taŭgas ankaŭ por noventreprenoj. Ĉi tio estas ĉar Rundeck estas licencita laŭ la permesilo Apache v2.0. Krome, la ilo estas sufiĉe facile uzebla.

Loĝanto de Reddit kiu laboris kun Rundeck, diras, kiu solvis la plej multajn el la malfacilaĵoj memstare. Ili helpis lin pri tio dokumentaro kaj e-libroj, eldonita de la programistoj.

Vi ankaŭ povas trovi mallongajn gvidojn por agordi la ilon interrete:

GoCD

Malfermu ilon (GitHub) aŭtomatigante kodan versiokontrolon. Ĝi estis lanĉita en 2007 fare de la firmao ThoughtWorks — tiam la projekto nomiĝis Cruise.

GoCD estas uzata de inĝenieroj de reta aŭto-vendejo AutoTrader, genealogia servo Ancestry kaj kreditkartprovizanto Barclaycard. Tamen, kvarono de iluzantoj konsistigas malgrandan komercon.

La populareco de la servo inter noventreprenoj povas esti klarigita per ĝia malfermiteco - ĝi estas distribuita sub la licenco Apache v2.0. Samtempe, GoCD Ĝi havas kromaĵojn por integriĝo kun triaparta programaro - rajtigaj sistemoj kaj nubaj solvoj. Vera sistemo sufiĉe komplika en majstrado - ĝi havas grandan nombron da funkciigistoj kaj teamoj. Ankaŭ iuj uzantoj plendas pri la malbona interfaco kaj bezonas agordi agentojn por skalado.

CICD por noventreprenoj: kiaj iloj ekzistas kaj kial ne nur grandaj kaj konataj kompanioj uzas ilin
Фото - Matt Wildbore — Malŝprucigi

Se vi volas provi GoCD praktike, vi povas trovi en la retejo de la projekto oficiala dokumentaro. Ĝi ankaŭ povas esti rekomendita kiel fonto de pliaj informoj Blogo por Programistoj de GoCD kun manlibroj pri aranĝo.

Jenkins

Jenkins estas vaste konata kaj estas konsiderata ia normo en la kampo de CICD - kompreneble, sen ĝi ĉi tiu elekto ne estus tute kompleta. La ilo aperis en 2011, lageto forko de Projekto Hudson de Oracle.

Hodiaŭ kun Jenkins laboras ĉe NASA, Nintendo kaj aliaj grandaj organizoj. Tamen pli ol 8% uzantoj respondecas pri malgrandaj teamoj de ĝis dek homoj. La produkto estas tute senpaga kaj distribuita sub MIT-licenco. Tamen vi devos gastigi kaj agordi Jenkins mem - ĝi postulas dediĉitan servilon.

Dum la tuta ekzisto de la instrumento, granda komunumo formiĝis ĉirkaŭ ĝi. Uzantoj aktive komunikas en fadenoj sur Reddit и Google-Grupoj. Materialoj pri Jenkins ankaŭ aperas regule sur Habré. Se vi ŝatus fariĝi parto de la komunumo kaj komenci labori kun Jenkins, ekzistas oficiala dokumentaro и gvidilo por programistoj. Ni ankaŭ rekomendas la jenajn gvidlibrojn kaj librojn:

Jenkins havas plurajn utilajn flankajn projektojn. La unua estas kromaĵo Agordo kiel Kodo. Ĝi faciligas agordi Jenkins per facile legeblaj API-oj, kiujn eĉ administrantoj sen profunda scio pri la ilo povas kompreni. La dua estas la sistemo Jenkins X por la nubo. Ĝi akcelas la liveron de aplikoj deplojitaj sur grandskala IT-infrastrukturo aŭtomatigante iujn rutinajn taskojn.

Buildbot

Ĉi tio estas kontinua integriga sistemo por aŭtomatigi la konstruan kaj testan ciklon de aplikoj. Ĝi aŭtomate kontrolas la funkciojn de la kodo ĉiufoje kiam ajnaj ŝanĝoj estas faritaj al ĝi.

La aŭtoro de la ilo estis inĝeniero Brian Warner. Hodiaŭ li deĵoras ŝanĝita la iniciatgrupo de Buildbot Oversight Committee, kiu inkluzivas ses programistojn.

Buildbot estas uzata projektoj kiel LLVM, MariaDB, Blender kaj Dr.Web. Sed ĝi ankaŭ estas uzata en pli malgrandaj projektoj kiel wxWidgets kaj Flathub. La sistemo subtenas ĉiujn modernajn VCS kaj havas flekseblajn konstruajn agordojn uzante Python por priskribi ilin. Ĝi helpos vin trakti ilin ĉiujn. oficiala dokumentaro kaj triaj lerniloj, ekzemple, jen mallonga IBM-manlibro.

Kompreneble tio ne estas ĉio DevOps-iloj, kiujn malgrandaj organizoj kaj noventreprenoj devus atenti. Donu viajn plej ŝatatajn ilojn en la komentoj, kaj ni provos paroli pri ili en unu el la sekvaj materialoj.

Pri kio ni skribas en la kompania blogo:

fonto: www.habr.com

Aldoni komenton