CICD voor startups: welke tools zijn er en waarom niet alleen grote en bekende bedrijven deze gebruiken

Ontwikkelaars van CICD-tools vermelden vaak grote bedrijven als klanten: Microsoft, Oculus, Red Hat, zelfs Ferrari en NASA. Het lijkt erop dat dergelijke merken alleen met dure systemen werken die een startup bestaande uit een paar ontwikkelaars en een ontwerper zich niet kunnen veroorloven. Maar een aanzienlijk deel van de tools is beschikbaar voor kleine teams.

Hieronder vertellen wij u waar u op kunt letten.

CICD voor startups: welke tools zijn er en waarom niet alleen grote en bekende bedrijven deze gebruiken
Фото - Csaba Balazs - ontspatten

PHP-censor

Een open source CI-server waarmee u eenvoudig projecten in PHP kunt bouwen. Dit is een afsplitsing van het project PHPCI. PHPCI zelf is nog steeds in ontwikkeling, maar niet zo actief als voorheen.

PHP Censor kan werken met GitHub, GitLab, Mercurial en verschillende andere repositories. Om code te testen, gebruikt de tool de bibliotheken Atoum, PHP Spec, Behat en Codeception. Hier voorbeeld bestand configuraties voor het 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"

Men gaat ervan uitdat PHP Censor zeer geschikt is voor het inzetten van kleine projecten, maar je zult het zelf moeten hosten en configureren (self-hosted). Deze taak wordt vereenvoudigd door tamelijk gedetailleerde documentatie - het staat op GitHub.

Rex

Rex is de afkorting van Remote Execution. Het systeem is ontwikkeld door ingenieur Ferenc Erki om processen in het datacenter te automatiseren. Rex is gebaseerd op Perl-scripts, maar het is niet nodig om deze taal te kennen om met de tool te kunnen communiceren - de meeste bewerkingen (bijvoorbeeld het kopiëren van bestanden) worden beschreven in de functiebibliotheek en scripts passen vaak in tien regels. Hier is een voorbeeld voor het inloggen op meerdere servers en het uitvoeren van 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;
};

Wij raden u aan om uw kennismaking met de tool te beginnen met officiële gids и e-boek, die momenteel wordt voltooid.

Open Build-service (OBS)

Dit is een platform voor het optimaliseren van de ontwikkeling van distributies. De code is open en bevindt zich in de repository op GitHub. De auteur van de tool is het bedrijf Novell. Ze nam deel aan de ontwikkeling van de SuSE-distributie en dit project heette aanvankelijk openSUSE Build Service. Het is geen verrassing dat Open Build Service gebruik voor bouwprojecten in openSUSE, Tizen en VideoLAN. Ook Dell, SGI en Intel werken met de tool. Maar onder de reguliere gebruikers zijn er ook kleine startups. Speciaal voor hen verzamelden de auteurs (pagina 10) vooraf geconfigureerd software pakket. Het systeem zelf is volledig gratis: u hoeft alleen maar geld uit te geven aan hosting of een hardwareserver om het te implementeren.

Maar gedurende zijn hele bestaan ​​heeft de tool nooit een brede gemeenschap verworven. Hoewel hij was onderdeel van het Linux Developer Network, verantwoordelijk voor het standaardiseren van het open besturingssysteem. Het kan moeilijk zijn Vind het antwoord op uw vraag op thematische forums. Maar een van de Quora-bewoners merkte dat op IRC-chat Op Freenode reageren communityleden vrij gemakkelijk. Het probleem van een kleine gemeenschap is niet mondiaal, aangezien de oplossing voor veel problemen is beschreven in de officiële documentatie (PDF en EPUB). Ibid. kan vinden best practices voor het werken met OBS (er zijn voorbeelden en cases).

Rundeck

Gereedschap openen (GitHub), dat taken in het datacenter en de cloud automatiseert met behulp van scripts. Een speciale scriptserver is verantwoordelijk voor de uitvoering ervan. We kunnen zeggen dat Rundeck een “dochter” is van het ControlTier applicatiebeheerplatform. Rundeck scheidde zich ervan af in 2010 en kreeg nieuwe functionaliteit, bijvoorbeeld integraties met Puppet, Chef, Git en Jenkins.

Het systeem wordt gebruikt bij De Walt Disney Company, Salesforce и Ticketmaster. Maar het project is ook geschikt voor startups. Dit komt omdat Rundeck gelicentieerd is onder de Apache v2.0-licentie. Bovendien is de tool vrij eenvoudig te gebruiken.

Een inwoner van Reddit die met Rundeck werkte, говорит, waarmee ik de meeste problemen zelf heb opgelost. Zij hebben hem hierbij geholpen documentatie en e-books, gepubliceerd door de ontwikkelaars.

U kunt ook online korte handleidingen vinden voor het instellen van de tool:

GoCD

Gereedschap openen (GitHub) automatisering van codeversiebeheer. Het werd in 2007 door het bedrijf geïntroduceerd ThoughtWorks – toen heette het project Cruise.

GoCD wordt gebruikt door ingenieurs van online autoverkoopsite AutoTrader, genealogische dienst Ancestry en creditcardaanbieder Barclaycard. Echter, een kwart van de toolgebruikers vormt een klein bedrijf.

De populariteit van de service onder startups kan worden verklaard door de openheid ervan: deze wordt gedistribueerd onder de Apache v2.0-licentie. Tegelijkertijd GoCD heeft plug-ins voor integratie met software van derden - autorisatiesystemen en cloudoplossingen. Echt systeem best ingewikkeld in mastering - het heeft een groot aantal operators en teams. Ook klagen sommige gebruikers over de slechte interface en nodig hebben configureer agenten voor schaling.

CICD voor startups: welke tools zijn er en waarom niet alleen grote en bekende bedrijven deze gebruiken
Фото - Matt Wildbore - ontspatten

Als je GoCD in de praktijk wilt uitproberen, kun je dat vinden op de projectwebsite officiële documentatie. Het kan ook worden aanbevolen als bron van aanvullende informatie GoCD-ontwikkelaarsblog met handleidingen bij het instellen.

Jenkins

Jenkins is algemeen bekend en beschouwd een soort standaard op het gebied van CICD - zonder deze zou deze selectie uiteraard niet helemaal compleet zijn. De tool verscheen in 2011, worden een vork van Project Hudson van Oracle.

Vandaag met Jenkins werken bij NASA, Nintendo en andere grote organisaties. Echter meer 8% gebruikers zijn verantwoordelijk voor kleine teams van maximaal tien personen. Het product is volledig gratis en wordt gedistribueerd onder MIT-licentie. U zult Jenkins echter zelf moeten hosten en configureren - hiervoor is een speciale server vereist.

Gedurende het hele bestaan ​​van het instrument heeft zich er een grote gemeenschap omheen gevormd. Gebruikers communiceren actief in threads op Reddit и Google Groups. Materiaal over Jenkins verschijnt ook regelmatig op Habré. Als je deel wilt uitmaken van de gemeenschap en met Jenkins wilt gaan werken, dan is dat mogelijk officiële documentatie и handleiding voor ontwikkelaars. We raden ook de volgende gidsen en boeken aan:

Jenkins heeft verschillende nuttige zijprojecten. De eerste is een plug-in Configuratie als code. Het maakt het instellen van Jenkins eenvoudig met gemakkelijk leesbare API's die zelfs beheerders zonder diepgaande kennis van de tool kunnen begrijpen. De tweede is het systeem Jenkins X voor de wolk. Het versnelt de levering van applicaties die op een grootschalige IT-infrastructuur worden ingezet door een aantal routinetaken te automatiseren.

Bouwbot

Dit is een continu integratiesysteem voor het automatiseren van de bouw- en testcyclus van applicaties. Het controleert automatisch de functionaliteit van de code telkens wanneer er wijzigingen in worden aangebracht.

De auteur van de tool was ingenieur Brian Warner. Vandaag heeft hij dienst veranderd de initiatiefgroep Buildbot Oversight Committee, waartoe zes ontwikkelaars behoren.

Bouwbot gebruikt projecten zoals LLVM, MariaDB, Blender en Dr.Web. Maar het wordt ook gebruikt in kleinere projecten zoals wxWidgets en Flathub. Het systeem ondersteunt alle moderne VCS en heeft flexibele bouwinstellingen door Python te gebruiken om ze te beschrijven. Het zal je helpen om met ze allemaal om te gaan. officiële documentatie en tutorials van derden, hier is bijvoorbeeld een korte IBM-handleiding.

Natuurlijk dat is niet alles DevOps-tools waar kleine organisaties en startups aandacht aan moeten besteden. Geef je favoriete tools op in de reacties, en we zullen proberen erover te praten in een van de volgende materialen.

Waar we over schrijven in de corporate blog:

Bron: www.habr.com

Voeg een reactie