CICD startupoknak: milyen eszközök vannak, és miért nem csak a nagy és jól ismert cégek használják őket

A CICD-eszközök fejlesztői gyakran nagyvállalatokat – a Microsoftot, az Oculust, a Red Hatet, még a Ferrarit és a NASA-t is – ügyfelei közé sorolják. Úgy tűnik, hogy az ilyen márkák csak olyan drága rendszerekkel működnek, amelyeket egy pár fejlesztőből és egy tervezőből álló startup nem engedhet meg magának. De az eszközök jelentős része kis csapatok számára elérhető.

Az alábbiakban elmondjuk, mire lehet figyelni.

CICD startupoknak: milyen eszközök vannak, és miért nem csak a nagy és jól ismert cégek használják őket
Фото - Balázs Csaba — Fröcskölés

PHP cenzor

Nyílt forráskódú CI-kiszolgáló, amely megkönnyíti a projektek felépítését PHP-ben. Ez a projekt villája PHPCI. Maga a PHPCI még mindig fejlődik, de nem olyan aktívan, mint korábban.

A PHP Censor képes együttműködni a GitHub, a GitLab, a Mercurial és számos más adattárral. A kód teszteléséhez az eszköz az Atoum, PHP Spec, Behat, Codeception könyvtárakat használja. Itt példa fájl konfigurációk az első esethez:

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

Figyelembe veszikhogy a PHP Censor kiválóan alkalmas kis projektek telepítésére, de Önnek magának kell tárolnia és konfigurálnia (saját hosztolás). Ezt a feladatot leegyszerűsíti a meglehetősen részletes dokumentáció - a GitHubon van.

Rex

A Rex a Remote Execution rövidítése. A rendszert Erki Ferenc mérnök fejlesztette ki az adatközponti folyamatok automatizálására. A Rex Perl-szkripteken alapul, de nem szükséges ismerni ezt a nyelvet az eszközzel való interakcióhoz - a legtöbb műveletet (például a fájlok másolását) a függvénytár írja le, és a szkriptek gyakran tíz sorba férnek el. Íme egy példa több szerverre való bejelentkezésre és üzemidő futtatására:

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

Javasoljuk, hogy ezzel kezdje az eszközzel való ismerkedést hivatalos útmutató и e-könyv, amely jelenleg is készül.

Open Build Service (OBS)

Ez egy platform a disztribúciók fejlesztésének optimalizálására. A kódja nyitva van, és a tárolóban található a címen GitHub. Az eszköz szerzője a cég Novell. Részt vett a SuSE disztribúció fejlesztésében, és ezt a projektet eredetileg openSUSE Build Service néven hívták. Nem meglepő, hogy az Open Build Service használat az openSUSE, Tizen és VideoLAN építési projektekhez. A Dell, az SGI és az Intel is együttműködik az eszközzel. De a rendszeres felhasználók között vannak kis startupok is. Különösen nekik gyűjtötték össze a szerzők (10 oldal) előre konfigurálva Szoftver csomag. Maga a rendszer teljesen ingyenes – csak tárhelyre vagy hardveres szerverre kell pénzt költenie a telepítéshez.

De fennállása során az eszköz soha nem szerzett széles közösséget. Habár ő volt a Linux Developer Network része, amely a nyílt operációs rendszer szabványosításáért felelős. Ez nehéz lehet Keresse meg kérdésére a választ a tematikus fórumokon. De a Quora egyik lakója megjegyezte, hogy in IRC chat A Freenode-on a közösség tagjai meglehetősen könnyen reagálnak. Egy kis közösség problémája nem globális, hiszen számos probléma megoldását leírták a hivatalos dokumentációban (PDF és EPUB). Ugyanott. megtalálja bevált gyakorlatok az OBS-sel való munkavégzéshez (vannak példák és esetek).

Rundeck

Nyissa meg az eszközt (GitHub), amely szkriptek segítségével automatizálja a feladatokat az adatközpontban és a felhőben. Ezek végrehajtásáért egy speciális script szerver felel. Elmondhatjuk, hogy a Rundeck a ControlTier alkalmazáskezelő platform „lánya”. A Rundeck 2010-ben vált le róla, és új funkciókat szerzett – például a Puppet, Chef, Git és Jenkins integrációit.

A rendszert használják A Walt Disney Company, Salesforce и Ticketmaster. De a projekt startupoknak is alkalmas. Ennek az az oka, hogy a Rundeck licence az Apache v2.0 licenc alatt van. Ezenkívül az eszköz használata meglehetősen egyszerű.

Egy Reddit-lakó, aki a Rundeckkel dolgozott, beszél, ami a legtöbb nehézséget egyedül oldotta meg. Ebben segítettek neki dokumentáció és e-könyvek, amelyet a fejlesztők tettek közzé.

Az eszköz beállításához rövid útmutatókat is talál az interneten:

GoCD

Nyissa meg az eszközt (GitHub) automatizálja a kódverzióvezérlést. 2007-ben vezette be a cég ThoughtWorks — akkor a projektet Cruise néven hívták.

A GoCD-t az AutoTrader online autóértékesítési oldal, az Ancestry genealógiai szolgáltatás és a Barclaycard hitelkártya-szolgáltató mérnökei használják. Az eszközhasználók negyede azonban kisvállalkozást alkot.

A szolgáltatás népszerűsége a startupok körében a nyitottságával magyarázható - Apache v2.0 licenc alatt terjesztik. Ugyanakkor a GoCD Meg beépülő modulok harmadik féltől származó szoftverekkel való integrációhoz – engedélyezési rendszerek és felhőmegoldások. Valódi rendszer elég bonyolult a masteringben - nagyszámú operátorral és csapattal rendelkezik. Emellett egyes felhasználók panaszkodnak a rossz felületre és szükség ügynökök konfigurálása a méretezéshez.

CICD startupoknak: milyen eszközök vannak, és miért nem csak a nagy és jól ismert cégek használják őket
Фото - Matt Wildbore — Fröcskölés

Ha szeretné kipróbálni a GoCD-t a gyakorlatban, megtalálhatja a projekt honlapján hivatalos dokumentáció. Kiegészítő információforrásként is ajánlható GoCD fejlesztői blog kézikönyvekkel beállításkor.

Jenkins

Jenkins széles körben ismert és figyelembe vett egyfajta etalon a CICD területén – persze enélkül ez a válogatás sem lenne teljesen teljes. Az eszköz 2011-ben jelent meg, válás a Project Hudson villája az Oracle-től.

Ma Jenkinsszel dolgoznak a NASA-nál, a Nintendóban és más nagy szervezeteknél. azonban több mint 8% a felhasználók legfeljebb tíz fős kis csapatokat alkotnak. A termék teljesen ingyenes és terjesztett MIT licenc alatt. A Jenkinst azonban magának kell tárolnia és konfigurálnia – ehhez dedikált szerverre van szükség.

A hangszer teljes fennállása alatt nagy közösség alakult ki körülötte. A felhasználók aktívan kommunikálnak szálakon Reddit и Google Csoportok. A Jenkinsről szóló anyagok rendszeresen megjelennek a Habrén is. Ha szeretnél a közösség tagja lenni, és elkezdenéd együtt dolgozni Jenkinsszel, akkor igen hivatalos dokumentáció и fejlesztői útmutató. Az alábbi útmutatókat és könyveket is ajánljuk:

Jenkinsnek számos hasznos mellékprojektje van. Az első egy plugin Konfiguráció kódként. Egyszerűvé teszi a Jenkins beállítását a könnyen olvasható API-kkal, amelyeket még az eszközt mélyen nem ismerő rendszergazdák is megértenek. A második a rendszer Jenkins X a felhőért. Egyes rutinfeladatok automatizálásával felgyorsítja a nagyméretű IT infrastruktúrára telepített alkalmazások kézbesítését.

Buildbot

Ez egy folyamatos integrációs rendszer az alkalmazások felépítési és tesztelési ciklusának automatizálására. Automatikusan ellenőrzi a kód működőképességét minden alkalommal, amikor bármilyen módosítást hajtanak végre rajta.

Az eszköz szerzője Brian Warner mérnök volt. Ma szolgálatban van megváltozott a Buildbot Felügyeleti Bizottság kezdeményezési csoportja, amely hat fejlesztőt foglal magában.

Buildbot használt olyan projektek, mint az LLVM, a MariaDB, a Blender és a Dr.Web. De olyan kisebb projektekben is használják, mint a wxWidgets és a Flathub. A rendszer támogatja az összes modern VCS-t, és rugalmas összeállítási beállításokkal rendelkezik a Python használatával. Ez segít megbirkózni velük. hivatalos dokumentáció és például harmadik féltől származó oktatóanyagokat, itt van egy rövid IBM kézikönyv.

Természetesen, ez nem minden DevOps eszközök, amelyekre a kis szervezeteknek és induló vállalkozásoknak figyelniük kell. Adja meg kedvenc eszközeit a megjegyzésekben, és megpróbálunk beszélni róluk a következő anyagok egyikében.

Amiről a céges blogban írunk:

Forrás: will.com

Hozzászólás