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

Ontwikkelaars van CICD-tools noemen vaak grote bedrijven als klant, zoals Microsoft, Oculus, Red Hat, zelfs Ferrari en NASA. Het lijkt erop dat zulke merken alleen met dure systemen werken, die een hypothetische startup bestaande uit een paar ontwikkelaars en een ontwerper niet kan betalen. Maar een groot deel van de tools is ook 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-censuur

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

PHP Censor kan werken met GitHub, GitLab, Mercurial en diverse andere repositories. Om de code te testen, gebruikt de tool de bibliotheken Atoum, PHP Spec, Behat en Codeception. Hier voorbeeldbestand 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 uit, dat PHP Censor prima geschikt is voor het implementeren van kleine projecten, maar dat u het zelf moet hosten en configureren (self-hosted). Deze taak wordt vergemakkelijkt door vrij gedetailleerde documentatie - het staat op GitHub.

Rex

Rex is een afkorting voor Remote Execution. Het systeem werd ontwikkeld door ingenieur Ferenc Erki om processen in het datacenter te automatiseren. Rex is gebaseerd op Perl-scripts, maar u hoeft deze taal niet te kennen om met de tool te kunnen werken. De meeste bewerkingen (zoals het kopiëren van bestanden) worden beschreven in de functiebibliotheek en scripts passen vaak in tien regels. Hier is een voorbeeld van 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 afgerond.

Open Build-service (OBS)

Het is een platform voor het optimaliseren van distributieontwikkeling. De code is open en kan worden gevonden in de repository op GitHub. De auteur van de tool is het bedrijf Novell. Ze werkte mee aan de ontwikkeling van de SuSE-distributie en noemde dit project aanvankelijk openSUSE Build Service. Het is geen verrassing dat Open Build Service gebruik voor het bouwen van projecten in openSUSE, Tizen en VideoLAN. Ook Dell, SGI en Intel werken met de tool. Maar er zijn ook kleine startups onder de vaste gebruikers. De auteurs hebben verzameld (pagina 10) vooraf geconfigureerd softwarepakket. Het systeem zelf is volledig gratis: u hoeft alleen maar geld uit te geven aan hosting of een hardwareserver voor de implementatie ervan.

Maar gedurende zijn hele bestaan ​​heeft de tool nooit een grote community verworven. Hoewel hij was deel Linux Developer Network, verantwoordelijk voor de standaardisatie van open source besturingssystemen. Het kan moeilijk zijn Vind het antwoord op uw vraag op thematische fora. Maar een Quora-bewoner merkte op dat in IRC-chat Op Freenode reageren de communityleden erg snel. Het probleem van een kleine gemeenschap is niet wereldwijd, aangezien de oplossing voor veel problemen is beschreven in de officiële documentatie (PDF en EPUB). Daar ook kan vinden best practices voor het werken met OBS (er zijn voorbeelden en cases).

Rundeck

Gereedschap openen (GitHub), taken in het datacenter en de cloud automatiseren met behulp van scripts. Een speciale scriptserver is verantwoordelijk voor de uitvoering ervan. Je zou kunnen zeggen dat Rundeck een 'dochter' is van het applicatiebeheerplatform ControlTier. Rundeck splitste zich in 2010 af en kreeg nieuwe functionaliteit, zoals integraties met Puppet, Chef, Git en Jenkins.

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

Een Reddit-bewoner die met Rundeck heeft gewerkt, говорит, die de meeste problemen zelf oploste. Ze hielpen hem hierbij documentatie en e-books, gepubliceerd door de ontwikkelaars.

Korte handleidingen over het instellen van de tool vindt u ook online:

GoCD

Gereedschap openen (GitHub) geautomatiseerde versiebeheer van de code. Het werd in 2007 geïntroduceerd door het bedrijf ThoughtWorks — toen heette het project Cruise.

GoCD werkt samen met ingenieurs van de online autoverkoopsite AutoTrader, genealogiedienst Ancestry en creditcardaanbieder Barclaycard. Echter, een kwart van de gebruikers van de tool vormt een klein bedrijf.

De populariteit van de dienst onder startups kan worden verklaard door de openheid ervan: de dienst wordt gedistribueerd onder de Apache v2.0-licentie. Tegelijkertijd GoCD heeft Plugins voor integratie met software van derden - autorisatiesystemen en cloudoplossingen. Echt systeem nogal ingewikkeld in ontwikkeling - het heeft een groot aantal operators en teams. Sommige gebruikers klagen ook over de slechte interface en nodig hebben Configureer agents voor schaalbaarheid.

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

Als u GoCD in de praktijk wilt uitproberen, kunt u het vinden op de projectwebsite officiële documentatie. Als aanvullende informatiebron kunnen wij u ook het volgende aanbevelen: GoCD-ontwikkelaarsblog met handleidingen door het instellen.

Jenkins

Jenkins is wijd en zijd bekend en beschouwd een soort standaard op het gebied van CICD - uiteraard zou deze selectie niet compleet zijn zonder deze standaard. De tool verscheen in 2011, worden een fork van Oracle's Hudson-project.

Vandaag met Jenkins werken bij NASA, Nintendo en andere grote organisaties. Echter meer 8% Gebruikers worden verdeeld in kleine groepen van maximaal tien personen. Het product is volledig gratis en wordt verspreid onder MIT-licentie. U zult Jenkins echter zelf moeten hosten en configureren. Hiervoor hebt u een speciale server nodig.

Gedurende de gehele periode dat de tool bestond, heeft zich een grote community rondom de tool 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 community en aan de slag wilt gaan met Jenkins, zijn er officiële documentatie и Ontwikkelaarshandboek. Wij raden ook de volgende gidsen en boeken aan:

Jenkins heeft verschillende nuttige zijprojecten. De eerste is een plugin. Configuratie als code. Het vereenvoudigt de Jenkins-configuratie met eenvoudig te lezen API's die zelfs voor beheerders zonder diepgaande kennis van de tool begrijpelijk zijn. De tweede is het systeem Jenkins X voor de cloud. Het versnelt de levering van applicaties die op grootschalige IT-infrastructuur zijn geïmplementeerd door een aantal routinematige taken te automatiseren.

Bouwbot

Dit is een continu integratiesysteem voor het automatiseren van de cyclus van het bouwen en testen van applicaties. Telkens wanneer er wijzigingen in de code worden aangebracht, wordt automatisch de functionaliteit ervan gecontroleerd.

De tool is gemaakt door ingenieur Brian Warner. Vandaag is hij in dienst veranderd Het Buildbot Oversight Committee, een initiatiefgroep bestaande uit zes ontwikkelaars.

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 build-instellingen dankzij het gebruik van Python voor de beschrijving ervan. Om ze allemaal te begrijpen, gebruik dan officiële documentatie en tutorials van derden, hier is bijvoorbeeld een korte IBM-handleiding.

Natuurlijk dat is niet alles DevOps-tools die het overwegen waard zijn voor kleine organisaties en startups. Deel uw favoriete tools in de reacties en wij zullen proberen ze in een van onze volgende artikelen te behandelen.

Waar we over schrijven in de corporate blog:

Bron: www.habr.com

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster