{"id":33504,"date":"2019-10-31T21:52:58","date_gmt":"2019-10-31T18:52:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\/"},"modified":"2019-10-31T21:52:58","modified_gmt":"2019-10-31T18:52:58","slug":"rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","title":{"rendered":"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/2f9db2f057c4bcb3f2e57a484dd30c8c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Vytvorenie prvej DevOps re\u0165aze v piatich krokoch pre za\u010diato\u010dn\u00edkov.<\/em><\/p>\n<p><\/p>\n<p>DevOps sa stal z\u00e1zrakom pre pr\u00edli\u0161 pomal\u00e9, roztrhnut\u00e9 a in\u00e9 problematick\u00e9 procesy v\u00fdvoja. Ale vy\u017eaduje si minim\u00e1lne znalosti o DevOps. Tu sa presk\u00fama tak\u00e9to pojmy ako DevOps re\u0165azec a ako ho vytvori\u0165 v piatich krokoch. Nie je to \u00fapln\u00fd sprievodca, ale len \"ryba\", ktor\u00fa je mo\u017en\u00e9 roz\u0161\u00edri\u0165. Za\u010dneme s hist\u00f3riou.<\/p>\n<p><\/p>\n<h3 id=\"moe-znakomstvo-s-devops\">Moje zozn\u00e1menie s DevOps<\/h3>\n<p><\/p>\n<p>Niekedy som pracoval s cloudmi v Citi Group a vyv\u00edjal webov\u00fa aplik\u00e1ciu IaaS na spr\u00e1vu cloudovej infra\u0161trukt\u00fary Citi, ale v\u017edy ma zauj\u00edmalo, ako optimalizova\u0165 v\u00fdvojov\u00fd re\u0165azec a zlep\u0161i\u0165 kult\u00faru medzi v\u00fdvoj\u00e1rmi. Greg Lavender, n\u00e1\u0161 technick\u00fd riadite\u013e pre cloudov\u00fa architekt\u00faru a infra\u0161trukt\u00faru, mi odporu\u010dil knihu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">Projekt \u201eF\u00e9nix\u201c<\/a><\/noindex>. Skvele vysvet\u013euje princ\u00edpy DevOps, pri\u010dom sa \u010d\u00edta ako rom\u00e1n.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>V tabu\u013eke na rubovej strane je zobrazen\u00e9, ako \u010dasto firmy uvo\u013e\u0148uj\u00fa nov\u00e9 verzie:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/bf\/1e\/2_\/bf1e2_l0g8wnb5nojb1n5ruwlsi.png\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/a723283e54f7614b6b92eab78509985d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Ako Amazon, Google a Netflix zvl\u00e1daj\u00fa to\u013eko uvo\u013enen\u00ed? Je to jednoduch\u00e9: pochopili, ako vytvori\u0165 takmer ide\u00e1lny DevOps re\u0165azec.<\/p>\n<p><\/p>\n<p>U n\u00e1s v Citi to bolo \u00faplne inak, k\u00fdm sme nepre\u0161li na DevOps. Vtedy mala moja t\u00edm r\u00f4zne prostredia, ale nasadenie na v\u00fdvojov\u00fd server sme robili ru\u010dne. V\u0161etci v\u00fdvoj\u00e1ri mali pr\u00edstup len k jedn\u00e9mu v\u00fdvojov\u00e9mu serveru na b\u00e1ze IBM WebSphere Application Server Community Edition. Pri pokuse o s\u00fa\u010dasn\u00e9 nasadenie server \"spadol\", a museli sme sa zaka\u017ed\u00fdm \"bolestne\" dohodn\u00fa\u0165. A tie\u017e sme mali nedostato\u010dn\u00e9 pokrytie k\u00f3du testami, pracn\u00fd ru\u010dn\u00fd proces nasadenia a \u017eiadnu mo\u017enos\u0165 sledova\u0165 nasadenie k\u00f3du pod\u013ea \u00falohy alebo po\u017eiadavky z\u00e1kazn\u00edka.<\/p>\n<p><\/p>\n<p>Bolo jasn\u00e9, \u017ee je potrebn\u00e9 urgentne nie\u010do robi\u0165, a na\u0161iel som spolupracovn\u00edka, ktor\u00fd mal rovnak\u00e9 n\u00e1zory. Rozhodli sme sa spolo\u010dne vytvori\u0165 prv\u00fa DevOps re\u0165azec \u2014 on nastavil virtu\u00e1lny stroj a server aplik\u00e1ci\u00ed Tomcat, zatia\u013e \u010do som sa venoval Jenkinsu, integr\u00e1cii s Atlassian Jira a BitBucket, ako aj pokrytiu k\u00f3du testami. Projekt bol \u00faspe\u0161n\u00fd: plne sme automatizovali re\u0165azec v\u00fdvoja, dosiahli sme takmer 100% bezporuchov\u00fa prev\u00e1dzku v\u00fdvojov\u00e9ho servera, mohli sme sledova\u0165 a zlep\u0161ova\u0165 pokrytie k\u00f3du testami, a vetvu Git bolo mo\u017en\u00e9 priradi\u0165 k nasadeniu a \u00falohe Jira. A takmer v\u0161etky n\u00e1stroje, ktor\u00fdmi sme vytv\u00e1rali DevOps re\u0165azec, boli s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.<\/p>\n<p><\/p>\n<p>V skuto\u010dnosti bola re\u0165azec zjednodu\u0161en\u00fd, preto\u017ee sme ani nepou\u017e\u00edvali roz\u0161\u00edren\u00e9 konfigur\u00e1cie pomocou Jenkinsa alebo Ansibla. Ale podarilo sa n\u00e1m to. Mo\u017eno je to d\u00f4sledok princ\u00edpu <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_principle\">Pareto<\/a><\/noindex> (takzvan\u00e9 pravidlo 80\/20).<\/p>\n<p><\/p>\n<h3 id=\"kratkoe-opisanie-cepochki-devops-i-cicd\">Stru\u010dn\u00fd popis re\u0165azca DevOps a CI\/CD<\/h3>\n<p><\/p>\n<p>DevOps m\u00e1 r\u00f4zne defin\u00edcie. DevOps, podobne ako Agile, zah\u0155\u0148a r\u00f4zne discipl\u00edny. Ale v\u00e4\u010d\u0161ina s\u00fahlas\u00ed s nasleduj\u00facou defin\u00edciou: DevOps je met\u00f3da, alebo \u017eivotn\u00fd cyklus v\u00fdvoja softv\u00e9ru, ktor\u00e9ho hlavn\u00fdm princ\u00edpom je vytvorenie kult\u00fary, kde s\u00fa v\u00fdvoj\u00e1ri a ostatn\u00ed zamestnanci \"na jednej vlne\", ru\u010dn\u00e1 pr\u00e1ca je automatizovan\u00e1, ka\u017ed\u00fd sa zaober\u00e1 t\u00fdm, \u010do najlep\u0161ie ovl\u00e1da, zvy\u0161uje sa frekvencia dod\u00e1vok, zvy\u0161uje sa produktivita a zlep\u0161uje sa flexibilita.<\/p>\n<p><\/p>\n<p>A hoci samotn\u00e9 n\u00e1stroje nesta\u010dia na vytvorenie prostredia DevOps, bez nich sa nezaob\u00eddeme. Najd\u00f4le\u017eitej\u0161\u00edm z nich je nepretr\u017eit\u00e1 integr\u00e1cia a nepretr\u017eit\u00e9 dod\u00e1vanie (CI\/CD). V re\u0165azci existuj\u00fa pre ka\u017ed\u00e9 prostredie r\u00f4zne f\u00e1zy (napr\u00edklad DEV (v\u00fdvoj), INT (integr\u00e1cia), TST (testovanie), QA (kontrola kvality), UAT (akcepta\u010dn\u00e9 testovanie pou\u017e\u00edvate\u013emi), STG (pr\u00edprava), PROD (pou\u017e\u00edvanie)), manu\u00e1lne \u00falohy s\u00fa automatizovan\u00e9, v\u00fdvoj\u00e1ri m\u00f4\u017eu vytv\u00e1ra\u0165 kvalitn\u00fd k\u00f3d, realizuj\u00fa jeho dod\u00e1vku a m\u00f4\u017eu sa \u013eahko prisp\u00f4sobova\u0165.<\/p>\n<p><\/p>\n<p>Tento \u010dl\u00e1nok popisuje, ako vytvori\u0165 re\u0165azec DevOps v piatich krokoch, ako je zobrazen\u00e9 na obr\u00e1zku ni\u017e\u0161ie, pomocou n\u00e1strojov s otvoren\u00fdm zdrojom.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/da\/zq\/qo\/dazqqoyxn3vv-o6p9crpsm9m_eu.jpeg\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/da2a6d8ed039f0b8e1ea8e1ba562696d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Prejdime k veci.<\/p>\n<p><\/p>\n<h3 id=\"shag-1-platforma-cicd\">Krok 1: Platforma CI\/CD<\/h3>\n<p><\/p>\n<p>Najprv potrebujete n\u00e1stroj CI\/CD. Jenkins je otvoren\u00fd n\u00e1stroj CI\/CD nap\u00edsan\u00fd v Jave s licenciou MIT, ktor\u00fd za\u010dal populariz\u00e1ciu hnutia DevOps a stal sa de facto \u0161tandardom pre CI\/CD.<\/p>\n<p><\/p>\n<p>A \u010do je to Jenkins? Predstavte si, \u017ee m\u00e1te \u010darovn\u00fd ovl\u00e1da\u010d pre najr\u00f4znej\u0161ie slu\u017eby a n\u00e1stroje. S\u00e1m o sebe je n\u00e1stroj CI\/CD, ako Jenkins, bezcenn\u00fd, ale s r\u00f4znymi n\u00e1strojmi a slu\u017ebami sa st\u00e1va v\u0161emocn\u00fdm.<\/p>\n<p><\/p>\n<p>Okrem Jenkinsa existuje mnoho \u010fal\u0161\u00edch otvoren\u00fdch n\u00e1strojov, vyberte si ktor\u00fdko\u013evek. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/fb\/ov\/dd\/fbovdd2kb_e8jkj1atm1ycuw3so.png\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/2bbe6af719b90da0eb0d367aae66d779.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Takto vyzer\u00e1 proces DevOps s n\u00e1strojom CI\/CD<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/es\/-3\/dj\/es-3djmmligdmtcuvicigopzt8e.jpeg\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/2410013c9e6030596a59f3ed7ae3a7e7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Na va\u0161om localhoste m\u00e1te n\u00e1stroj CI\/CD, ale zatia\u013e nie je ve\u013ea \u010do robi\u0165. Prejdime k nasleduj\u00facemu kroku.<\/p>\n<p><\/p>\n<h3 id=\"shag-2-upravlenie-versiyami\">Krok 2: spr\u00e1va verzi\u00ed<\/h3>\n<p><\/p>\n<p>Najlep\u0161\u00ed (a asi aj najjednoduch\u0161\u00ed) sp\u00f4sob, ako overi\u0165 m\u00e1giu n\u00e1stroja CI\/CD, je integrova\u0165 ho s n\u00e1strojom na spr\u00e1vu verzi\u00ed (source control management, SCM). Pre\u010do je potrebn\u00e1 spr\u00e1va verzi\u00ed? Predpokladajme, \u017ee vyv\u00edjate aplik\u00e1ciu. P\u00ed\u0161ete ju v Jave, Pythone, C++, Go, Rubyn, JavaScripte alebo v akomko\u013evek inom jazyku, ktor\u00fdch je skuto\u010dne ve\u013ea. To, \u010do p\u00ed\u0161ete, sa naz\u00fdva zdrojov\u00fd k\u00f3d. Na za\u010diatku, najm\u00e4 ak pracujete osamotene, m\u00f4\u017eete v\u0161etko uchov\u00e1va\u0165 v lok\u00e1lnom adres\u00e1ri. Ale ke\u010f projekt narastie a pripoj\u00ed sa k nemu viac \u013eud\u00ed, potrebujete sp\u00f4sob, ako zdie\u013ea\u0165 zmeny v k\u00f3de, ale pritom sa vyhn\u00fa\u0165 konfliktom pri zl\u00fa\u010den\u00ed zmien. A navy\u0161e, potrebujete nejak\u00fd sp\u00f4sob, ako obnovi\u0165 predch\u00e1dzaj\u00face verzie bez pou\u017eitia z\u00e1loh a bez met\u00f3dy copy-paste pre s\u00fabory s k\u00f3dom.<\/p>\n<p><\/p>\n<p>A tu sa bez SCM nezaob\u00eddete. SCM uchov\u00e1va k\u00f3d v repozit\u00e1roch, spravuje jeho verzie a koordinuje ho medzi v\u00fdvoj\u00e1rmi.<\/p>\n<p><\/p>\n<p>N\u00e1strojov SCM je mno\u017estvo, ale de facto \u0161tandardom sa pr\u00e1vom stal Git. Odpor\u00fa\u010dam pou\u017e\u00edva\u0165 pr\u00e1ve ten, ale existuj\u00fa aj in\u00e9 mo\u017enosti.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/37555a476c27f7066e5648b9e9e4d90b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Takto vyzer\u00e1 DevOps pipeline po pridan\u00ed SCM.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/am\/4o\/39\/am4o39ooera5tweytt3uyh80wlu.jpeg\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/040819b00dc608a9131856dd6a7d4a19.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>N\u00e1stroj CI\/CD m\u00f4\u017ee automatizova\u0165 nahr\u00e1vanie a s\u0165ahovanie zdrojov\u00e9ho k\u00f3du a spolupr\u00e1cu v t\u00edme. Nie je to zl\u00e9? Ale ako t\u00fato situ\u00e1ciu premeni\u0165 na funk\u010dn\u00fa aplik\u00e1ciu, ob\u013e\u00faben\u00fa miliardami pou\u017e\u00edvate\u013eov?<\/p>\n<p><\/p>\n<h3 id=\"shag-3-instrument-avtomatizacii-sborki\">Krok 3: n\u00e1stroj automatiz\u00e1cie zostavenia<\/h3>\n<p><\/p>\n<p>V\u0161etko ide ako m\u00e1. M\u00f4\u017eete nahr\u00e1va\u0165 k\u00f3d a zaznamen\u00e1va\u0165 zmeny v syst\u00e9me spr\u00e1vy verzi\u00ed, a tie\u017e pozva\u0165 priate\u013eov, aby s vami pracovali. Ale zatia\u013e nem\u00e1te \u017eiadnu aplik\u00e1ciu. Aby to bola webov\u00e1 aplik\u00e1cia, treba ju skompilova\u0165 a zabali\u0165 do bal\u00edka na dodanie alebo spusti\u0165 ako spustite\u013en\u00fd s\u00fabor. (Interpretovan\u00fd programovac\u00ed jazyk, ako JavaScript alebo PHP, skompilova\u0165 netreba.)<\/p>\n<p><\/p>\n<p>Pou\u017eite n\u00e1stroj automatiz\u00e1cie zostavenia. Nez\u00e1le\u017e\u00ed na tom, ktor\u00fd n\u00e1stroj si vyberiete, on zostav\u00ed k\u00f3d do po\u017eadovan\u00e9ho form\u00e1tu a automatizuje \u010distenie, kompil\u00e1ciu, testovanie a dodanie. N\u00e1stroje na zostavovanie sa l\u00ed\u0161ia v z\u00e1vislosti od jazyka, ale zvy\u010dajne sa pou\u017e\u00edvaj\u00fa nasleduj\u00face open-source mo\u017enosti.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/cc6e958a82ac0676429da6c48e66910f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Skvele! Teraz vlo\u017e\u00edme konfigura\u010dn\u00e9 s\u00fabory n\u00e1stroja automatiz\u00e1cie zostavenia do syst\u00e9mu spr\u00e1vy verzi\u00ed, aby ich n\u00e1stroj CI\/CD zozbieral.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/gl\/t1\/ii\/glt1ii73wdg2roq5fus-fzd0ury.jpeg\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/bba539d128425e7e3ddacdc6028d3604.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Vyzer\u00e1 to, \u017ee v\u0161etko je v poriadku. Ale kam to teraz v\u0161etko nasadi\u0165?<\/p>\n<p><\/p>\n<h3 id=\"shag-4-server-veb-prilozheniy\">Krok 4: server webovej aplik\u00e1cie<\/h3>\n<p><\/p>\n<p>Tak, m\u00e1te zabalenej soubor, kter\u00fd lze spustit nebo nasadit. Aby aplikace skute\u010dn\u011b byla u\u017eite\u010dn\u00e1, mus\u00ed m\u00edt n\u011bjakou slu\u017ebu nebo rozhran\u00ed, ale pot\u0159ebujete ji n\u011bkam um\u00edstit.<\/p>\n<p><\/p>\n<p>Webovou aplikaci m\u016f\u017eete um\u00edstit na server webov\u00fdch aplikac\u00ed. Server aplikac\u00ed poskytuje prost\u0159ed\u00ed, kde se m\u016f\u017ee spustit programov\u00e1 logika z bal\u00ed\u010dku, vykreslit rozhran\u00ed a otev\u0159\u00edt webov\u00e9 slu\u017eby p\u0159es socket. Pot\u0159ebujete HTTP server a n\u011bkolik dal\u0161\u00edch prost\u0159ed\u00ed (nap\u0159\u00edklad virtu\u00e1ln\u00ed stroj), abyste nainstalovali server aplikac\u00ed. Zat\u00edm si p\u0159edstavme, \u017ee se s t\u00edm v\u0161\u00edm vyzn\u00e1te v pr\u016fb\u011bhu (a\u010dkoli o kontejnerech budu mluvit n\u00ed\u017ee).<\/p>\n<p><\/p>\n<p>Existuje n\u011bkolik otev\u0159en\u00fdch server\u016f webov\u00fdch aplikac\u00ed.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/v7\/-q\/tq\/v7-qtqzlpp5nvxlqz1oshw4mw1i.png\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/7802afe041a9d56c20ddbe2885b5cf37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>U\u017e m\u00e1me t\u00e9m\u011b\u0159 funk\u010dn\u00ed DevOps \u0159et\u011bzec. Skv\u011bl\u00e1 pr\u00e1ce!<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/lf\/wm\/rx\/lfwmrx3grlcbwb5s_olj33npn7o.jpeg\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/3d1e524b63fecebf4973cc34a40c160d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Vlastn\u011b se tady m\u016f\u017eete zastavit, d\u00e1l to zvl\u00e1dnete sami, ale stoj\u00ed za to je\u0161t\u011b probrat kvalitu k\u00f3du.<\/p>\n<p><\/p>\n<h3 id=\"shag-5-testovoe-pokrytie\">Krok 5: Testovac\u00ed pokryt\u00ed<\/h3>\n<p><\/p>\n<p>Testov\u00e1n\u00ed zab\u00edr\u00e1 spoustu \u010dasu a sil, ale je lep\u0161\u00ed naj\u00edt chyby hned a vylep\u0161it k\u00f3d, aby se u\u017eivatel\u00e9 pot\u011b\u0161ili. K tomuto \u00fa\u010delu existuje mnoho otev\u0159en\u00fdch n\u00e1stroj\u016f, kter\u00e9 nejen \u017ee otestuj\u00ed k\u00f3d, ale tak\u00e9 v\u00e1m porad\u00ed, jak ho vylep\u0161it. V\u011bt\u0161ina n\u00e1stroj\u016f CI\/CD se m\u016f\u017ee p\u0159ipojit k t\u011bmto n\u00e1stroj\u016fm a automatizovat proces.<\/p>\n<p><\/p>\n<p>Testov\u00e1n\u00ed je rozd\u011bleno na dv\u011b \u010d\u00e1sti: testovac\u00ed r\u00e1mce, kter\u00e9 se pou\u017e\u00edvaj\u00ed k psan\u00ed a prov\u00e1d\u011bn\u00ed test\u016f, a n\u00e1stroje s doporu\u010den\u00edmi ke zlep\u0161en\u00ed kvality k\u00f3du.<\/p>\n<p><\/p>\n<h3 id=\"freymvorki-testirovaniya\">Testovac\u00ed r\u00e1mce<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cu\/4l\/pn\/cu4lpnpdqa7yd9f5zwsxrrlbylg.png\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/c17426a30a4f140be87489d2c8b0d0b9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>N\u00e1stroje s doporu\u010den\u00edmi pro kvalitu<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ab\/g_\/oh\/abg_ohfxhtbprzhcicxos3jx4yg.png\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/bc65784b8bf5ccaaeef96a0c6ee4422e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>V\u011bt\u0161ina t\u011bchto n\u00e1stroj\u016f a r\u00e1mc\u016f byla naps\u00e1na pro Java, Python a JavaScript, proto\u017ee C++ a C# jsou propriet\u00e1rn\u00ed (i kdy\u017e GCC m\u00e1 otev\u0159en\u00fd zdrojov\u00fd k\u00f3d).<\/p>\n<p><\/p>\n<p>N\u00e1stroje pro testovac\u00ed pokryt\u00ed jsme aplikovali, a nyn\u00ed by pipeline DevOps m\u011bla vypadat jako na obr\u00e1zku na za\u010d\u00e1tku pr\u016fvodce.<\/p>\n<p><\/p>\n<h2 id=\"dopolnitelnye-shagi\">\u010eal\u0161ie kroky<\/h2>\n<p><\/p>\n<h3 id=\"konteynery\">Kontajnery<\/h3>\n<p><\/p>\n<p>Jak u\u017e jsem \u0159ekl, server aplikac\u00ed lze um\u00edstit na virtu\u00e1ln\u00ed stroj nebo server, ale kontejnery jsou popul\u00e1rn\u011bj\u0161\u00ed.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers\">Co jsou kontejnery<\/a><\/noindex>? \u0412\u043a\u0440\u0430\u0442\u0446\u0435, \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430, \u0447\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0431\u0435\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c, \u043d\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432\u043c\u0435\u0449\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0442.<\/p>\n<p><\/p>\n<p>Pro kontejnery se obvykle pou\u017e\u00edv\u00e1 Docker a Kubernetes, i kdy\u017e existuj\u00ed i jin\u00e9 mo\u017enosti.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/6n\/wc\/rc\/6nwcrcuhk9swwjxdddudr1cqpzc.png\"><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/8749b7044102ff7f23f2c970d6939246.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>P\u0159e\u010dt\u011bte si \u010dl\u00e1nky o Dockeru a Kubernetes na <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-docker\">Co je Docker?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/business\/15\/1\/introduction-docker\">\u00davod do Dockeru<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-is-kubernetes\">Co je Kubernetes?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/17\/11\/kubernetes-lightning-talk\">Kubernetes od nuly<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"instrumenty-avtomatizacii-promezhutochnogo-po\">N\u00e1stroje pro automatizaci middleware<\/h3>\n<p><\/p>\n<p>Na\u0161a DevOps re\u0165azec je zameran\u00fd na spolupr\u00e1cu pri zostavovan\u00ed a dod\u00e1van\u00ed aplik\u00e1cie, ale pomocou n\u00e1strojov DevOps m\u00f4\u017eete robi\u0165 aj \u010fal\u0161ie zauj\u00edmav\u00e9 veci. Napr\u00edklad pou\u017e\u00edva\u0165 n\u00e1stroje \"infrastrukt\u00fara ako k\u00f3d\" (IaC), ktor\u00e9 sa taktie\u017e naz\u00fdvaj\u00fa n\u00e1stroje na automatiz\u00e1ciu middleware. Tieto n\u00e1stroje pom\u00e1haj\u00fa automatizova\u0165 in\u0161tal\u00e1ciu, spr\u00e1vu a \u010fal\u0161ie \u00falohy pre middleware. Napr\u00edklad n\u00e1stroj na automatiz\u00e1ciu m\u00f4\u017ee bra\u0165 aplik\u00e1cie (server webov\u00fdch aplik\u00e1ci\u00ed, datab\u00e1zu, n\u00e1stroje na monitorovanie) s spr\u00e1vnymi konfigur\u00e1ciami a nasadi\u0165 ich na server aplik\u00e1ci\u00ed.<\/p>\n<p><\/p>\n<p>Tu je nieko\u013eko mo\u017enost\u00ed otvoren\u00fdch n\u00e1strojov na automatiz\u00e1ciu middleware:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Pr\u00edru\u010dka pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom.\" src=\"\/wp-content\/uploads\/2019\/05\/23bb3259f336a3f0ebf11ab4aa5471ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Podrobnosti n\u00e1jdete v \u010dl\u00e1nkoch na <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/quickstart-guide-ansible\">Sprievodca za\u010diatkom pr\u00e1ce s Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/automating-deployment-strategies-ansible\">Strat\u00e9gie automatiz\u00e1cie nasadenia s Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/12\/configuration-management-tools\">5 najlep\u0161\u00edch n\u00e1strojov na spr\u00e1vu konfigur\u00e1ci\u00ed<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"i-chto-teper\">A \u010do teraz?<\/h3>\n<p><\/p>\n<p>To je len \u0161pi\u010dka \u013eadovca. DevOps re\u0165azec m\u00f4\u017ee robi\u0165 omnoho viac. Za\u010dnite s n\u00e1strojom CI\/CD a zistite, \u010do \u010fal\u0161ie m\u00f4\u017eete automatizova\u0165, aby ste si u\u013eah\u010dili pr\u00e1cu. Nezabudnite na <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/alternatives\/slack\">otvoren\u00e9 n\u00e1stroje na komunik\u00e1ciu<\/a><\/noindex> pre efekt\u00edvnu spolupr\u00e1cu.<\/p>\n<p><\/p>\n<p>Tu je nieko\u013eko \u010fal\u0161\u00edch dobr\u00fdch \u010dl\u00e1nkov o DevOps pre za\u010diato\u010dn\u00edkov:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/devops\">\u010co je DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/master-devops-engineer\">5 zru\u010dnost\u00ed DevOps v\u00fdvoj\u00e1ra<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/11\/how-non-engineer-got-devops\">DevOps pre ka\u017ed\u00e9ho<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/getting-started-predictive-analytics-devops\">\u00davod do predikt\u00edvnej analytiky v DevOps<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>A e\u0161te m\u00f4\u017eete integrova\u0165 DevOps s otvoren\u00fdmi n\u00e1strojmi pre agile:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/10\/what-agile\">\u010co je agile?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/steps-agile-developer\">4 kroky k zvl\u00e1dnutiu agile<\/a><\/noindex><\/li>\n<\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/451508\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 DevOps \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u043f\u0430\u043d\u0430\u0446\u0435\u0435\u0439 \u0434\u043b\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041d\u043e \u043d\u0443\u0436\u043d\u044b \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f \u0432 DevOps. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0446\u0435\u043f\u043e\u0447\u043a\u0430 DevOps \u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0435 \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u201c\u0440\u044b\u0431\u0430\u201d, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043f\u043e\u0447\u0435\u043a DevOps \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sprievodca pre za\u010diato\u010dn\u00edkov: vytv\u00e1ranie DevOps re\u0165azcov pomocou n\u00e1strojov s otvoren\u00fdm zdrojov\u00fdm k\u00f3dom | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043f\u043e\u0447\u0435\u043a DevOps \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c | ProHoster","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:58+00:00","article:modified_time":"2019-10-31T18:52:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33504","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 15:33:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:39:23","updated":"2026-01-21 15:33:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/33504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=33504"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/33504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/25204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=33504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=33504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=33504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}