CICD per a startups: quines eines hi ha i per què no només les fan servir empreses grans i conegudes

Els desenvolupadors d'eines CICD solen enumerar grans empreses com a clients: Microsoft, Oculus, Red Hat, fins i tot Ferrari i la NASA. Sembla que aquestes marques només funcionen amb sistemes cars que una startup formada per un parell de desenvolupadors i un dissenyador no es pot permetre. Però una part important de les eines està disponible per a petits equips.

A continuació us explicarem en què podeu prestar atenció.

CICD per a startups: quines eines hi ha i per què no només les fan servir empreses grans i conegudes
Фото - Csaba Balazs — Desesquitxa

PHP Censor

Un servidor CI de codi obert que facilita la creació de projectes en PHP. Aquesta és una bifurcació del projecte PHPCI. PHPCI encara s'està desenvolupant, però no tan activament com abans.

PHP Censor pot funcionar amb GitHub, GitLab, Mercurial i diversos altres repositoris. Per provar el codi, l'eina utilitza les biblioteques Atoum, PHP Spec, Behat i Codeception. Aquí fitxer d'exemple configuracions per al primer cas:

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

Es consideraque PHP Censor és molt adequat per desplegar projectes petits, però haureu d'allotjar-lo i configurar-lo vosaltres mateixos (autoallotjat). Aquesta tasca es simplifica amb una documentació força detallada: està a GitHub.

Rex

Rex és l'abreviatura de Remote Execution. El sistema va ser desenvolupat per l'enginyer Ferenc Erki per automatitzar els processos al centre de dades. Rex es basa en scripts Perl, però no és necessari conèixer aquest llenguatge per interactuar amb l'eina: la majoria d'operacions (per exemple, copiar fitxers) es descriuen a la biblioteca de funcions i els scripts sovint s'ajusten a deu línies. Aquí teniu un exemple per iniciar sessió a diversos servidors i executar el temps de funcionament:

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

Us recomanem que comenceu a conèixer l'eina amb guia oficial и llibre electrònic, que actualment s'està acabant.

Servei de construcció oberta (OBS)

Aquesta és una plataforma per optimitzar el desenvolupament de distribucions. El seu codi està obert i es troba al repositori a GitHub. L'autor de l'eina és l'empresa Novell. Va participar en el desenvolupament de la distribució SuSE, i aquest projecte es va anomenar inicialment openSUSE Build Service. No és estrany que Open Build Service ús per construir projectes a openSUSE, Tizen i VideoLAN. Dell, SGI i Intel també treballen amb l'eina. Però entre els usuaris habituals també hi ha petites startups. Sobretot per a ells, els autors van recollir (pàgina 10) preconfigurat paquet de programari. El sistema en si és completament gratuït: només cal gastar diners en allotjament o en un servidor de maquinari per implementar-lo.

Però al llarg de la seva existència, l'eina mai ha adquirit una àmplia comunitat. Encara que ell era part de la Xarxa de Desenvolupadors de Linux, responsable d'estandarditzar el sistema operatiu obert. Pot ser difícil Trobeu la resposta a la vostra pregunta als fòrums temàtics. Però un dels residents de Quora ho va assenyalar a Xat IRC A Freenode, els membres de la comunitat responen amb força facilitat. El problema d'una petita comunitat no és global, ja que s'ha descrit la solució a molts problemes a la documentació oficial (PDF i EPUB). Ibídem. pot trobar bones pràctiques per treballar amb OBS (hi ha exemples i casos).

Rundeck

Eina oberta (GitHub), que automatitza les tasques al centre de dades i al núvol mitjançant scripts. Un servidor d'scripts especial és responsable de la seva execució. Podem dir que Rundeck és una "filla" de la plataforma de gestió d'aplicacions ControlTier. Rundeck es va separar el 2010 i va adquirir noves funcionalitats, per exemple, integracions amb Puppet, Chef, Git i Jenkins.

El sistema s'utilitza en The Walt Disney Company, Salesforce и Ticketmaster. Però el projecte també és adequat per a startups. Això es deu al fet que Rundeck té la llicència d'Apache v2.0. A més, l'eina és bastant fàcil d'utilitzar.

Un resident de Reddit que va treballar amb Rundeck, diu, que va resoldre la majoria de les dificultats pel meu compte. El van ajudar amb això documentació i llibres electrònics, publicat pels desenvolupadors.

També podeu trobar guies breus per configurar l'eina en línia:

GoCD

Eina oberta (GitHub) automatitzar el control de versions del codi. Va ser introduït l'any 2007 per l'empresa ThoughtWorks — llavors el projecte es va anomenar Cruise.

GoCD és utilitzat pels enginyers del lloc de venda de cotxes en línia AutoTrader, el servei de genealogia Ancestry i el proveïdor de targetes de crèdit Barclaycard. No obstant això, una quarta part dels usuaris de l'eina constitueix una petita empresa.

La popularitat del servei entre les startups es pot explicar per la seva obertura: es distribueix sota la llicència Apache v2.0. Al mateix temps, GoCD complements per a la integració amb programari de tercers: sistemes d'autorització i solucions al núvol. Veritable sistema força complicat en el mastering - compta amb un gran nombre d'operadors i equips. A més, alguns usuaris es queixen de la mala interfície i necessitat configurar agents per escalar.

CICD per a startups: quines eines hi ha i per què no només les fan servir empreses grans i conegudes
Фото - Matt Wildbore — Desesquitxa

Si voleu provar GoCD a la pràctica, el podeu trobar al lloc web del projecte documentació oficial. També es pot recomanar com a font d'informació addicional Bloc de desenvolupadors de GoCD amb manuals per configuració.

Jenkins

Jenkins és àmpliament conegut i considerat una mena d'estàndard en l'àmbit del CICD - és clar, sense ell aquesta selecció no estaria del tot completa. L'eina va aparèixer el 2011, esdevenir una bifurcació del Projecte Hudson d'Oracle.

Avui amb Jenkins работают a la NASA, Nintendo i altres grans organitzacions. malgrat això més del 8% els usuaris representen petits equips de fins a deu persones. El producte és totalment gratuït i distribuït sota llicència MIT. Tanmateix, haureu d'allotjar i configurar Jenkins vosaltres mateixos: requereix un servidor dedicat.

Al llarg de tota l'existència de l'instrument, s'ha format una gran comunitat al seu voltant. Els usuaris es comuniquen activament en fils activats Reddit и Grups de Google. Els materials sobre Jenkins també apareixen regularment a Habré. Si voleu formar part de la comunitat i començar a treballar amb Jenkins, n'hi ha documentació oficial и guia per a desenvolupadors. També recomanem les guies i llibres següents:

Jenkins té diversos projectes secundaris útils. El primer és un connector Configuració com a codi. Facilita la configuració de Jenkins amb API fàcils de llegir que fins i tot els administradors sense un coneixement profund de l'eina poden entendre. El segon és el sistema Jenkins X pel núvol. Accelera el lliurament d'aplicacions desplegades en una infraestructura informàtica a gran escala automatitzant algunes tasques rutinàries.

Buildbot

Aquest és un sistema d'integració contínua per automatitzar el cicle de creació i prova d'aplicacions. Comprova automàticament la funcionalitat del codi cada vegada que es fa cap canvi.

L'autor de l'eina va ser l'enginyer Brian Warner. Avui està de guàrdia canviat el grup d'iniciativa del Comitè de Supervisió de Buildbot, que inclou sis desenvolupadors.

Buildbot usat projectes com LLVM, MariaDB, Blender i Dr.Web. Però també s'utilitza en projectes més petits com wxWidgets i Flathub. El sistema admet tots els VCS moderns i té configuracions de construcció flexibles utilitzant Python per descriure'ls. T'ajudarà a tractar-los tots. documentació oficial i tutorials de tercers, per exemple, aquí en teniu un breu manual d'IBM.

Per descomptat, això no és tot Eines DevOps a les quals haurien de prestar atenció les organitzacions petites i les startups. Doneu les vostres eines preferides als comentaris i intentarem parlar-ne en un dels materials següents.

Què escrivim al blog corporatiu:

Font: www.habr.com

Afegeix comentari