Úvod do nástrojov na kontinuálnu integráciu

Ako neoddeliteľná súčasť nastavenia vývoja softvéru umožňujú nástroje Continuous Integration Tools vývojárom zlúčiť svoj kód do úložiska. Po zlúčení zmien kódu sa spustia automatizované zostavenia a testy. V záujme zlepšenia kvality softvéru zohrávajú veľmi dôležitú úlohu riešenia chýb, skrátenie času a podobne.

Pri poskytovaní prírastkových funkcií sa tímom darí sprintu po sprinte. Softvér sa však môže stať nestabilným a pri pridávaní nových funkcií sa vývojári môžu zamerať na chyby kódu. Aby sa zachovala karta v kvalite kódu, server Continuous Integration sa chová ako strážca brániaci takýmto chybám. Nástroje nepretržitej integrácie by mohli zistiť, či je niečo zlé.

Aby sa produkt udržal v funkčnom stave, zmeny sa neustále spájajú. V počiatočných fázach sa nepoužívajú žiadne nástroje a často sa spája s hlavným kódom. Teraz sa však používanie nástrojov stalo nevyhnutnosťou.

Rôzne typy nástrojov na kontinuálnu integráciu

Nižšie sú uvedené niektoré z nástrojov neustálej integrácie, ktoré môžete použiť -

1. Jenkins


Napísaná v Jave, Jenkins je open-source nástroj na kontinuálnu integráciu. Keď Oracle kúpil Sun Microsystems, Jenkins vznikla ako vidlička spoločnosti Hudson. Prostredníctvom grafického používateľského rozhrania a príkazov konzoly ponúka konfiguráciu Jenkins, ktorý je nástrojom pre rôzne platformy.

Prostredníctvom doplnkov umožňuje vlastnosť rozšírenia funkcií Jenkinsa veľmi flexibilného. Svoje vlastné doplnky pridáte do už tak bohatého zoznamu doplnkov Jenkins. Na viacerých strojoch sú zostavenia a testovacie záťaže distribuované Jenkinsom spolu s rozšíriteľnosťou. Jenkins je bezplatná a publikovaná pod licenciou MIT se. Jenkins je zároveň výkonná a flexibilná. Aj keď je krivka učenia strmá, flexibilita ju oplatí preskúmať. Vo forme Jenkins v cloude ponúkajú hostované riešenia Cloudbees.

2. TeamCity

Z laboratória spoločnosti JetBrains je TeamCity vyspelý server pre kontinuálnu integráciu. Nástroje ako WebStorm a ReSharper sú niektoré z populárnych nástrojov JetBrains, ktoré používajú vývojári softvéru z celého sveta.

TeamCity ponúka všetky funkcie zadarmo, ale limit je sto konfigurácií zostavenia a troch agentov zostavenia. Musíte zaplatiť za ďalších agentov zostavenia a konfigurácie zostavenia. Bez problémov s inštaláciou na mieste by ste si mohli pre jeden projekt vyskúšať cloudovú ponuku TeamCity.

Podporuje širokú škálu nástrojov a rámcov a funguje na viacerých platformách. JetBrains a ďalšie tretie strany vyvinuli niektoré verejne dostupné doplnky. Najlepšiu podporu .NET poskytuje TeamCity napriek tomu, že je riešením založeným na Java. Na základe potrieb spoločnosti by mohli byť podnikové balíčky škálované radom agentov. Celkovo skvelé riešenie poskytuje TeamCity. Je vhodnejší pre podnikové potreby z dôvodu jeho ceny a zložitosti.

3. Travis CI

Jeden z najstarších a dôveryhodných nástrojov trvalej integrácie. Vo forme podnikového balíka ponúka on-premise verziu spolu s hostovaným riešením. Pre prvých sto stavieb a na serveri GitHub je tento nástroj na kontinuálnu integráciu bezplatný pre všetky projekty s otvoreným zdrojom. Počet súbežných zostavení je rozdiel a existujú výberové možnosti na výber.

Pri spustení zostavenia sa vykonajú úlohy zostavenia, ktoré sú obsiahnuté v súbore .travis.yml. Na ich zálohovanie je dobrá dokumentácia k dispozícii v rôznych jazykoch. Dobre zdokumentovaný milovaný nástroj CI, ktorý ponúka vyspelé riešenie pre hostované aj miestne varianty.

4. GoCD

Vytvorené spoločnosťou ThoughtWorks, je to najnovšia inkarnácia systému Cruise Control. GO je zadarmo a má aj obchodnú podporu spoločnosti ThoughtWorks. GO je k dispozícii pre Mac, Windows a rôzne operačné systémy Linus.

Modelovanie komplexných pracovných postupov zostavovania je ľahké vďaka koncepcii potrubí, ktoré ich oddeľuje od davu. Pri paralelnom vykonávaní úloh sa eliminujú prekážky procesu zostavovania a od začiatku sú plynovody podporované GOCD. Pre zložité scenáre. Tento nástroj by sa mohol použiť v miestnych riešeniach atď.

5. Bambus

JIRA a Bitbucket sú niektoré z nástrojov vytvorených spoločnosťou Atlassian na vývoj softvéru. Bambus spočiatku ponúka cloudové aj miestne riešenia, ale cloudová verzia bola prerušená v máji 2016 v prospech potrubí BitBucket.

Efektívne a rýchle zostavenie sú ponúkané potrubím Bitbucket využitím sily Docker. Bitbucket ako dôstojný nástupca spoločnosti Bamboo Cloud rýchlo rastie. Na 30 dní je bambus zadarmo a pre malé a rastúce tímy existuje niekoľko plánov. Do Bambusu mohli byť konfigurácie Jenkins importované ľahko a mali natívnu podporu JIRA a Bitbucket. Potrubie spoločnosti Bamboo je rýchle a moderné a užitočný je aj tridsaťdňový bezplatný plán.

6. GitLab CI

Vytvoril GitLab Inc., GitLab je open-source projekt Rails. Poskytujú sa funkcie, ako je sledovanie problémov, riadenie prístupu a sú hosťované bezplatnou hostovanou službou s názvom GitLab.com.

Pomocou GitLab API by sa projekty mohli ľahko prepojiť a pomocou GitLab by sa dali ľahko integrovať. V systéme Windows je možné spustiť a písať Linux v jazyku Go. Vstavaná podpora Docker je k dispozícii a súčasne by sa mohlo spustiť viac úloh. GitLab Enterprise Edition aj GitLab Community Edition sú súčasťou balenia. Fenomenálny nástroj poskytujúci podnikové aj bezplatné služby.

7. Kruh CI

Jazyky ako Python, Java atď., Spolu s programom GitHub, sú podporované programom Circle CI. Spôsob, akým služby ponúkajú Circle CI, ho oddeľuje od ostatných. Kontajner je jeho hlavným cenovým blokom, zatiaľ čo mnoho projektov, ktoré by ste chceli vytvoriť. Úroveň paralelizácie podľa vašich potrieb je možné zvoliť po pridaní ďalších kontajnerov.

Paralelizácia je päť úrovní, a preto je možné dosiahnuť 16x na jednej stavbe začatím so šestnástimi kontajnermi. Dokovacia stanica je podporovaná aj programom Circle CI.

záver

Výber trvalej integrácie závisí od niekoľkých faktorov. Miestne uchovávanie artefaktov a flexibilita procesu zostavovania zabezpečujú miestne riešenia, ktoré môžu byť pre niektoré spoločnosti povinné. Na druhej strane, hostované riešenia poskytujú väčšiu škálovateľnosť. Podpora doku a používateľské rozhranie sú pár ďalších vecí, na ktoré by ste mali pamätať.

Odporúčané články

Toto bol sprievodca nástrojmi na kontinuálnu integráciu. Tu sme diskutovali o koncepte a rôznych typoch nástrojov na kontinuálnu integráciu. Ak sa chcete dozvedieť viac, môžete si tiež prečítať naše ďalšie navrhované články -

  1. Nástroje na testovanie automatizácie
  2. Čo je JNI v Jave?
  3. DevOps Automation Tool
  4. Nástroje dátového skladu
  5. PHPStorm vs WebStorm Top 14 Rozdiely
  6. Top 10 Výhody automatizácie DevOps

Kategórie: