CICD foar startups: hokker ark binne der en wêrom net allinich grutte en bekende bedriuwen se brûke

Untwikkelders fan CICD-ark listje faak grutte bedriuwen as kliïnten - Microsoft, Oculus, Red Hat, sels Ferrari en NASA. It liket derop dat sokke merken allinich wurkje mei djoere systemen dy't in opstart besteande út in pear ûntwikkelders en in ûntwerper net kinne betelje. Mar in wichtich part fan 'e ark is beskikber foar lytse teams.

Wy sille jo hjirûnder fertelle wêr't jo op kinne betelje.

CICD foar startups: hokker ark binne der en wêrom net allinich grutte en bekende bedriuwen se brûke
Фото - Csaba Balazs - Unsplash

PHP-sensuer

In iepen boarne CI-tsjinner dy't it maklik makket om projekten yn PHP te bouwen. Dit is in foarke fan it projekt PHPCI. PHPCI sels ûntwikkelet noch, mar net sa aktyf as earder.

PHP Censor kin wurkje mei GitHub, GitLab, Mercurial en ferskate oare repositories. Om koade te testen, brûkt it ark de Atoum, PHP Spec, Behat, Codeception bibleteken. Hjir foarbyld triem konfiguraasjes foar it earste gefal:

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

Yn oerwaging nommendat PHP Censor goed geskikt is foar it ynsetten fan lytse projekten, mar jo moatte it sels hostje en konfigurearje (sels-hosted). Dizze taak wurdt ferienfâldige troch frij detaillearre dokumintaasje - it is op GitHub.

rex

Rex is koart foar Remote Execution. It systeem waard ûntwikkele troch yngenieur Ferenc Erki om prosessen yn it datasintrum te automatisearjen. Rex is basearre op Perl-skripts, mar it is net nedich om dizze taal te kennen om te ynteraksje mei it ark - de measte operaasjes (bygelyks kopiearjen fan triemmen) wurde beskreaun yn 'e funksjebibleteek, en skripts passe faak yn tsien rigels. Hjir is in foarbyld foar it ynloggen op meardere servers en it útfieren fan uptime:

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

Wy riede begjinne jo kunde mei it ark mei offisjele gids и e-boek, dy't op it stuit foltôge wurdt.

Open Build Service (OBS)

Dit is in platfoarm foar it optimalisearjen fan de ûntwikkeling fan distribúsjes. De koade is iepen en is yn 'e repository by GitHub. De skriuwer fan it ark is it bedriuw Novell. Se die mei oan 'e ûntwikkeling fan' e SuSE-distribúsje, en dit projekt waard yn 't earstoan openSUSE Build Service neamd. It is gjin ferrassing dat Open Build Service brûke foar bouprojekten yn openSUSE, Tizen en VideoLAN. Dell, SGI en Intel wurkje ek mei it ark. Mar ûnder gewoane brûkers binne d'r ek lytse startups. Spesjaal foar harren sammele de auteurs (pagina 10) foarôf ynsteld software pakket. It systeem sels is folslein fergees - jo hoege allinich jild te besteegjen oan hosting as in hardwareserver om it yn te setten.

Mar yn syn hiele bestean hat it ark nea in brede mienskip krigen. Alhoewol hy wie diel fan it Linux Developer Network, ferantwurdlik foar standerdisearring fan it iepen OS. It kin lestich wêze Fyn it antwurd op jo fraach op tematyske foarums. Mar ien fan 'e Quora-ynwenners konstatearre dat yn IRC petear Op Freenode reagearje mienskipsleden frij maklik. It probleem fan in lytse mienskip is net wrâldwiid, om't de oplossing foar in protte problemen beskreaun is yn 'e offisjele dokumintaasje (PDF en EPUB). Ibid. kin fine bêste praktiken foar wurkjen mei OBS (d'r binne foarbylden en gefallen).

Rundeck

Iepenje ark (GitHub), dy't taken automatisearret yn it datasintrum en wolk mei skripts. In spesjale skripttsjinner is ferantwurdlik foar har útfiering. Wy kinne sizze dat Rundeck in "dochter" is fan it ControlTier-applikaasjebehearplatfoarm. Rundeck skiede der fan yn 2010 en krige nije funksjonaliteit - bygelyks yntegraasjes mei Puppet, Chef, Git en Jenkins.

It systeem wurdt brûkt yn De Walt Disney Company, Salesforce и Ticketmaster. Mar it projekt is ek geskikt foar startups. Dit komt om't Rundeck lisinsje hat ûnder de Apache v2.0-lisinsje. Boppedat is it ark frij maklik te brûken.

In ynwenner fan Reddit dy't wurke mei Rundeck, seit, dy't de measte swierrichheden sels oplost. Hja holpen him dêrmei dokumintaasje en e-books, publisearre troch de ûntwikkelders.

Jo kinne ek koarte hantliedingen fine foar it ynstellen fan it ark online:

GoCD

Iepenje ark (GitHub) automatisearring fan koade ferzje kontrôle. It waard yn 2007 yntrodusearre troch it bedriuw ThoughtWorks - doe waard it projekt neamd Cruise.

GoCD wurdt brûkt troch yngenieurs fan online auto ferkeap site AutoTrader, genealogy tsjinst Ancestry en credit card provider Barclaycard. Lykwols, in kwart fan ark brûkers foarmet in lyts bedriuw.

De populariteit fan 'e tsjinst ûnder startups kin ferklearre wurde troch syn iepenheid - it wurdt ferspraat ûnder de Apache v2.0-lisinsje. Tagelyk, GoCD hat in a plugins foar yntegraasje mei software fan tredden - autorisaasjesystemen en wolkoplossingen. Echt systeem frij yngewikkeld yn behearsking - it hat in grut oantal operators en teams. Ek, guon brûkers kleie oer de minne ynterface en need aginten ynstelle foar skaalfergrutting.

CICD foar startups: hokker ark binne der en wêrom net allinich grutte en bekende bedriuwen se brûke
Фото - Matt Wildbore - Unsplash

As jo ​​​​GoCD yn 'e praktyk wolle besykje, kinne jo fine op' e projektwebside offisjele dokumintaasje. It kin ek oanrikkemandearre wurde as in boarne fan ekstra ynformaasje GoCD Developer Blog mei hânboeken op opset.

Jenkins

Jenkins is rûnom bekend en wurdt beskôge in soarte fan standert op it mêd fan CICD - fansels, sûnder it soe dizze seleksje net hielendal folslein wêze. It ark ferskynde yn 2011, wurding in foarke fan Project Hudson út Oracle.

Hjoed mei Jenkins работают by NASA, Nintendo en oare grutte organisaasjes. lykwols mear as 8% brûkers rekkenje foar lytse teams fan maksimaal tsien minsken. It produkt is folslein fergees en ferspraat ûnder MIT lisinsje. Jo sille Jenkins lykwols sels moatte hostje en konfigurearje - it fereasket in tawijd server.

Oer it hiele bestean fan it ynstrumint is der in grutte mienskip omhinne foarme. Brûkers kommunisearje aktyf yn diskusjes op reddit и Google Groepen. Materialen oer Jenkins ferskine ek geregeld op Habré. As jo ​​​​graach diel wurde fan 'e mienskip en begjinne te wurkjen mei Jenkins, dan is d'r offisjele dokumintaasje и developer gids. Wy riede ek de folgjende gidsen en boeken oan:

Jenkins hat ferskate nuttige sydprojekten. De earste is in plugin Konfiguraasje as Code. It makket it ynstellen fan Jenkins maklik mei maklik te lêzen API's dy't sels admins sûnder djippe kennis fan it ark kinne begripe. De twadde is it systeem Jenkins X foar de wolk. It versnelt de levering fan applikaasjes ynset op grutskalige IT-ynfrastruktuer troch it automatisearjen fan guon routinetaken.

Buildbot

Dit is in kontinu yntegraasjesysteem foar it automatisearjen fan de bou- en testsyklus fan applikaasjes. It kontrolearret automatysk de funksjonaliteit fan 'e koade elke kear as der feroaringen oan makke wurde.

De skriuwer fan it ark wie yngenieur Brian Warner. Hjoed is er yn tsjinst feroare de inisjatyfgroep Buildbot Oversight Committee, dy't seis ûntwikkelders omfettet.

Buildbot wurdt brûkt projekten lykas LLVM, MariaDB, Blender en Dr.Web. Mar it wurdt ek brûkt yn lytsere projekten lykas wxWidgets en Flathub. It systeem stipet alle moderne VCS en hat fleksibele bouynstellingen troch Python te brûken om se te beskriuwen. It sil jo helpe om se allegear te behanneljen. offisjele dokumintaasje en tutorials fan tredden, bygelyks, hjir is in koarte IBM hânboek.

Fansels, dat is net alles DevOps-ark wêrop lytse organisaasjes en startups omtinken moatte jaan. Jou jo favorite ark yn 'e opmerkingen, en wy sille besykje oer har te praten yn ien fan' e folgjende materialen.

Wat wy skriuwe oer yn it bedriuwsblog:

Boarne: www.habr.com

Add a comment