CICD pro startupy: jaké nástroje existují a proč je využívají nejen velké a známé společnosti

Vývojáři nástrojů CICD často uvádějí jako klienty velké společnosti – Microsoft, Oculus, Red Hat, dokonce i Ferrari a NASA. Zdálo by se, že takové značky pracují pouze s drahými systémy, které si startup složený z páru vývojářů a designéra nemůže dovolit. Ale značná část nástrojů je k dispozici pro malé týmy.

Níže vám prozradíme, na co si můžete dát pozor.

CICD pro startupy: jaké nástroje existují a proč je využívají nejen velké a známé společnosti
--Ото - Csaba Balazs — Odstříknout

Cenzor PHP

Open source CI server, který usnadňuje vytváření projektů v PHP. Toto je větev projektu PHPCI. Samotné PHPCI se stále vyvíjí, ale ne tak aktivně jako dříve.

PHP Censor může pracovat s GitHub, GitLab, Mercurial a několika dalšími repozitáři. K testování kódu nástroj používá knihovny Atoum, PHP Spec, Behat, Codeception. Tady ukázkový soubor konfigurace pro první případ:

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

Zvažovánože PHP Censor se dobře hodí pro nasazení malých projektů, ale budete ho muset hostovat a konfigurovat sami (samohostitelem). Tento úkol je zjednodušen poměrně podrobnou dokumentací - je to na GitHubu.

Rex

Rex je zkratka pro Remote Execution. Systém vyvinul inženýr Ferenc Erki za účelem automatizace procesů v datovém centru. Rex je založen na skriptech v Perlu, ale pro interakci s nástrojem není nutné tento jazyk znát – většina operací (například kopírování souborů) je popsána v knihovně funkcí a skripty se často vejdou do deseti řádků. Zde je příklad přihlášení k více serverům a spuštění provozu:

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

Doporučujeme začít se seznamováním s nástrojem oficiální průvodce и e-kniha, která se právě dokončuje.

Open Build Service (OBS)

Jedná se o platformu pro optimalizaci vývoje distribucí. Jeho kód je otevřený a je v úložišti na adrese GitHub. Autorem nástroje je společnost Novell. Podílela se na vývoji distribuce SuSE a tento projekt se původně jmenoval openSUSE Build Service. Není žádným překvapením, že služba Open Build Service použití pro stavební projekty v openSUSE, Tizen a VideoLAN. S nástrojem spolupracují také společnosti Dell, SGI a Intel. Mezi běžnými uživateli se ale najdou i malé startupy. Speciálně pro ně autoři shromáždili (stránka 10) předem nakonfigurované softwarový balík. Samotný systém je zcela zdarma – stačí utratit peníze za hosting nebo hardwarový server pro jeho nasazení.

Za celou dobu své existence si ale nástroj nikdy nezískal širokou komunitu. Ačkoli byl součást Linux Developer Network, zodpovědná za standardizaci otevřeného OS. Může to být obtížné Najděte odpověď na svou otázku na tematických fórech. Ale jeden z obyvatel Quory poznamenal, že v IRC chat Na Freenode reagují členové komunity celkem ochotně. Problém malé komunity není globální, protože řešení mnoha problémů bylo popsáno v oficiální dokumentaci (PDF a EPUB). Tamtéž. může najít osvědčené postupy pro práci s OBS (existují příklady a případy).

Rundeck

Otevřít nástroj (GitHub), která automatizuje úlohy v datovém centru a cloudu pomocí skriptů. Za jejich spuštění je zodpovědný speciální skriptovací server. Dá se říci, že Rundeck je „dcerou“ platformy pro správu aplikací ControlTier. Rundeck se od něj oddělil v roce 2010 a získal nové funkce – například integrace s Puppet, Chef, Git a Jenkins.

Systém se používá v The Walt Disney Company, Salesforce и Ticketmaster. Projekt je ale vhodný i pro startupy. Důvodem je, že Rundeck je licencován pod licencí Apache v2.0. Kromě toho je nástroj poměrně snadno použitelný.

Rezident Redditu, který pracoval s Rundeckem, říká, který většinu obtíží vyřešil sám. Pomohli mu s tím dokumentace a e-knihy, kterou zveřejnili vývojáři.

Stručné průvodce nastavením nástroje naleznete také online:

GoCD

Otevřít nástroj (GitHub) automatizace kontroly verzí kódu. To bylo představeno v roce 2007 společností ThoughtWorks — tehdy se projekt jmenoval Cruise.

GoCD používají inženýři z online prodejního webu AutoTrader, genealogická služba Ancestry a poskytovatel kreditních karet Barclaycard. Nicméně čtvrtina uživatelů nástrojů tvoří malý podnik.

Oblíbenost služby mezi startupy lze vysvětlit její otevřeností – je šířena pod licencí Apache v2.0. Zároveň GoCD pluginy pro integraci se softwarem třetích stran – autorizační systémy a cloudová řešení. Pravdivý systém docela složitý v masteringu – má velké množství operátorů a týmů. Někteří uživatelé si také stěžují na špatné rozhraní a potřebovat konfigurovat agenty pro škálování.

CICD pro startupy: jaké nástroje existují a proč je využívají nejen velké a známé společnosti
--Ото - Matt Wildbore — Odstříknout

Pokud si chcete GoCD vyzkoušet v praxi, najdete na stránkách projektu oficiální dokumentace. Lze jej doporučit i jako zdroj doplňujících informací Blog vývojáře GoCD s manuály nastavením.

Jenkins

Jenkins je široce známý a za jakýsi standard v oblasti CICD – samozřejmě bez něj by tento výběr nebyl zcela úplný. Nástroj se objevil v roce 2011, stává se fork projektu Hudson od společnosti Oracle.

Dnes s Jenkinsem práce v NASA, Nintendu a dalších velkých organizacích. nicméně více než 8% uživatelé tvoří malé týmy do deseti lidí. Produkt je zcela zdarma a distribuován pod licencí MIT. Jenkins však budete muset hostovat a konfigurovat sami – vyžaduje to vyhrazený server.

Za celou dobu existence nástroje se kolem něj vytvořila velká komunita. Uživatelé aktivně komunikují ve vláknech na reddit и Skupiny Google. Materiály o Jenkinsovi se pravidelně objevují i ​​na Habrém. Pokud byste se chtěli stát součástí komunity a začít pracovat s Jenkinsem, existuje oficiální dokumentace и průvodce pro vývojáře. Doporučujeme také následující průvodce a knihy:

Jenkins má několik užitečných vedlejších projektů. První z nich je plugin Konfigurace jako kód. Usnadňuje nastavení Jenkins pomocí snadno čitelných rozhraní API, kterým rozumí i správci bez hlubokých znalostí tohoto nástroje. Druhým je systém Jenkins X pro cloud. Automatizací některých rutinních úloh urychluje dodávání aplikací nasazených na rozsáhlé IT infrastruktuře.

Buildbot

Jedná se o kontinuální integrační systém pro automatizaci cyklu sestavování a testování aplikací. Automaticky kontroluje funkčnost kódu pokaždé, když jsou v něm provedeny jakékoli změny.

Autorem nástroje byl inženýr Brian Warner. Dnes je ve službě změnil skupina iniciativy Buildbot Oversight Committee, která zahrnuje šest vývojářů.

Buildbot použitý projekty jako LLVM, MariaDB, Blender a Dr.Web. Ale používá se také v menších projektech, jako jsou wxWidgets a Flathub. Systém podporuje všechny moderní VCS a má flexibilní nastavení sestavení pomocí Pythonu k jejich popisu. Pomůže vám se s nimi všemi vypořádat. oficiální dokumentace a výukové programy třetích stran, například zde je krátký IBM manuál.

Samozřejmě, to není všechno Nástroje DevOps, kterým by malé organizace a startupy měly věnovat pozornost. Dejte své oblíbené nástroje do komentářů a my se o nich pokusíme mluvit v jednom z následujících materiálů.

O čem píšeme na firemním blogu:

Zdroj: www.habr.com

Přidat komentář