{"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\/hu\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","title":{"rendered":"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/2f9db2f057c4bcb3f2e57a484dd30c8c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Az els\u0151 DevOps l\u00e1nc l\u00e9trehoz\u00e1sa \u00f6t l\u00e9p\u00e9sben kezd\u0151knek.<\/em><\/p>\n<p><\/p>\n<p>A DevOps a lass\u00fa, sz\u00e9tsz\u00f3rt \u00e9s egy\u00e9b probl\u00e9m\u00e1s fejleszt\u00e9si folyamatok panace\u00e1j\u00e1v\u00e1 v\u00e1lt. De minim\u00e1lis ismeretek sz\u00fcks\u00e9gesek a DevOps vil\u00e1g\u00e1ban. Itt olyan fogalmakkal foglalkozunk, mint a DevOps l\u00e1nc, \u00e9s azt, hogy hogyan lehet azt \u00f6t l\u00e9p\u00e9sben l\u00e9trehozni. Ez nem egy \u00e1tfog\u00f3 \u00fatmutat\u00f3, hanem egy \"hal\", amely lehet\u0151s\u00e9get ad a tov\u00e1bbi b\u0151v\u00edt\u00e9sre. Kezdj\u00fck a t\u00f6rt\u00e9nelemmel.<\/p>\n<p><\/p>\n<h3 id=\"moe-znakomstvo-s-devops\">Els\u0151 tal\u00e1lkoz\u00e1som a DevOps-szal<\/h3>\n<p><\/p>\n<p>Egyszer a Citi Group-n\u00e1l dolgoztam felh\u0151megold\u00e1sokkal, \u00e9s egy IaaS webalkalmaz\u00e1st fejlesztettem a Citi felh\u0151infrastrukt\u00far\u00e1j\u00e1nak kezel\u00e9s\u00e9re, de mindig is \u00e9rdekelt, hogyan lehet optimaliz\u00e1lni a fejleszt\u00e9si l\u00e1ncot \u00e9s jav\u00edtani a kult\u00far\u00e1t a fejleszt\u0151k k\u00f6z\u00f6tt. Greg Lavender, felh\u0151architekt\u00far\u00e1\u00e9rt \u00e9s infrastrukt\u00far\u00e1\u00e9rt felel\u0151s m\u0171szaki igazgat\u00f3nk, aj\u00e1nlotta nekem a k\u00f6nyvet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">Phoenix Projekt<\/a><\/noindex>. Ez sz\u00e9pen magyar\u00e1zza el a DevOps alapelveit, \u00e9s \u00fagy olvas\u00f3dik, mint egy reg\u00e9ny.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>A h\u00e1toldalon tal\u00e1lhat\u00f3 t\u00e1bl\u00e1zatban l\u00e1that\u00f3, hogyan gyakran adnak ki \u00faj verzi\u00f3kat a c\u00e9gek:<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/a723283e54f7614b6b92eab78509985d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Hogyan tud annyi \u00faj verzi\u00f3t kiadni az Amazon, a Google \u00e9s a Netflix? Nagyon egyszer\u0171: meg\u00e9rtett\u00e9k, hogyan lehet l\u00e9trehozni egy szinte t\u00f6k\u00e9letes DevOps l\u00e1ncot.<\/p>\n<p><\/p>\n<p>A Citi-n\u00e9l n\u00e1lunk ez teljesen m\u00e1sk\u00e9pp zajlott, am\u00edg nem v\u00e1ltottunk DevOps-ra. Akkor a csapatomnak k\u00fcl\u00f6nb\u00f6z\u0151 k\u00f6rnyezetei voltak, de a fejleszt\u00e9si szerverre t\u00f6rt\u00e9n\u0151 kiad\u00e1sokat k\u00e9zzel v\u00e9gezt\u00fck. Minden fejleszt\u0151 csak egyetlen IBM WebSphere Application Server Community Edition alap\u00fa fejleszt\u00e9si szerverhez f\u00e9rt hozz\u00e1. Amikor egyszerre pr\u00f3b\u00e1ltunk kiadni, a szerver \"\u00f6sszeomlott\", \u00e9s nek\u00fcnk minden alkalommal \"f\u00e1jdalmasan\" meg kellett \u00e1llapodnunk egym\u00e1ssal. Emellett nem volt elegend\u0151 tesztel\u00e9si lefedetts\u00e9g, a kiad\u00e1si folyamat munkaig\u00e9nyes volt, \u00e9s nem volt lehet\u0151s\u00e9g a k\u00f3d kiad\u00e1s\u00e1nak nyomon k\u00f6vet\u00e9s\u00e9re egy adott feladathoz vagy kliensig\u00e9nyhez.<\/p>\n<p><\/p>\n<p>Nyilv\u00e1nval\u00f3v\u00e1 v\u00e1lt, hogy s\u00fcrg\u0151sen tenn\u00fcnk kell valamit, \u00e9s tal\u00e1ltam egy hasonsz\u0151r\u0171 koll\u00e9g\u00e1t. Egy\u00fctt d\u00f6nt\u00f6tt\u00fcnk \u00fagy, hogy l\u00e9trehozzuk az els\u0151 DevOps l\u00e1ncot - \u0151 be\u00e1ll\u00edtotta a virtu\u00e1lis g\u00e9pet \u00e9s a Tomcat alkalmaz\u00e1s szervert, m\u00edg \u00e9n a Jenkins-t, az Atlassian Jira \u00e9s BitBucket integr\u00e1ci\u00f3t, valamint a tesztel\u00e9si lefedetts\u00e9get kezeltem. A projekt sikeres volt: teljesen automatiz\u00e1ltuk a fejleszt\u00e9si l\u00e1ncot, k\u00f6zel 100%-os folyamatos \u00fczemel\u00e9st \u00e9rt\u00fcnk el a fejleszt\u00e9si szerveren, nyomon tudtuk k\u00f6vetni \u00e9s jav\u00edtani a tesztel\u00e9si lefedetts\u00e9get, \u00e9s a Git \u00e1gat lehetett k\u00f6tni a kiad\u00e1shoz \u00e9s a Jira feladathoz. R\u00e1ad\u00e1sul szinte minden eszk\u00f6z, amellyel a DevOps l\u00e1ncot fel\u00e9p\u00edtett\u00fck, ny\u00edlt forr\u00e1sk\u00f3d\u00fa volt.<\/p>\n<p><\/p>\n<p>Val\u00f3j\u00e1ban a folyamat egyszer\u0171s\u00edtett volt, hiszen m\u00e9g csak nem is alkalmaztunk kiterjesztett konfigur\u00e1ci\u00f3kat Jenkins vagy Ansible seg\u00edts\u00e9g\u00e9vel. De v\u00e9g\u00fcl j\u00f3l siker\u00fclt. Lehet, hogy ez a principi\u00e1lis k\u00f6vetkezm\u00e9nye. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_principle\">Pareto<\/a><\/noindex> (m\u00e1s n\u00e9ven 80\/20 szab\u00e1ly).<\/p>\n<p><\/p>\n<h3 id=\"kratkoe-opisanie-cepochki-devops-i-cicd\">A DevOps \u00e9s CI\/CD folyamat r\u00f6vid le\u00edr\u00e1sa<\/h3>\n<p><\/p>\n<p>A DevOpsnak k\u00fcl\u00f6nb\u00f6z\u0151 meghat\u00e1roz\u00e1sai l\u00e9teznek. A DevOps, ak\u00e1rcsak az Agile, k\u00fcl\u00f6nb\u00f6z\u0151 ter\u00fcleteket foglal mag\u00e1ban. De a legt\u00f6bben egyet\u00e9rtenek a k\u00f6vetkez\u0151 defin\u00edci\u00f3val: a DevOps egy m\u00f3dszertan vagy szoftverfejleszt\u00e9si \u00e9letciklus, amelynek f\u0151 elve a kult\u00fara kialak\u00edt\u00e1sa, ahol a fejleszt\u0151k \u00e9s m\u00e1s munkat\u00e1rsak \"egy hull\u00e1mhosszon\" vannak, a manu\u00e1lis feladatok automatiz\u00e1ltak, mindenki azt csin\u00e1lja, amiben a legjobb, n\u00f6vekszik a sz\u00e1ll\u00edt\u00e1sok gyakoris\u00e1ga, n\u0151 a munka termel\u00e9kenys\u00e9ge \u00e9s n\u00f6vekszik a rugalmass\u00e1g.<\/p>\n<p><\/p>\n<p>B\u00e1r \u00f6nmagukban az eszk\u00f6z\u00f6k nem elegend\u0151ek a DevOps k\u00f6rnyezet l\u00e9trehoz\u00e1s\u00e1hoz, n\u00e9lk\u00fcl\u00fck nem lehet megoldani. A legfontosabb k\u00f6z\u00fcl\u00fck a folyamatos integr\u00e1ci\u00f3 \u00e9s folyamatos sz\u00e1ll\u00edt\u00e1s (CI\/CD). A folyamatban minden k\u00f6rnyezethez k\u00fcl\u00f6nb\u00f6z\u0151 szakaszok tartoznak (p\u00e9ld\u00e1ul DEV (fejleszt\u00e9s), INT (integr\u00e1ci\u00f3), TST (tesztel\u00e9s), QA (min\u0151s\u00e9gellen\u0151rz\u00e9s), UAT (felhaszn\u00e1l\u00f3i elfogad\u00e1si tesztel\u00e9s), STG (el\u0151k\u00e9sz\u00edt\u00e9s), PROD (haszn\u00e1lat)), a manu\u00e1lis feladatokat automatiz\u00e1lj\u00e1k, a fejleszt\u0151k k\u00e9pesek min\u0151s\u00e9gi k\u00f3dot \u00edrni, sz\u00e1ll\u00edtj\u00e1k azt, \u00e9s k\u00f6nnyed\u00e9n \u00e1talak\u00edthatj\u00e1k.<\/p>\n<p><\/p>\n<p>Ez a cikk \u00f6t l\u00e9p\u00e9sben mutatja be, hogyan lehet l\u00e9trehozni egy DevOps folyamatot, ahogy az az al\u00e1bbi k\u00e9pen l\u00e1that\u00f3, ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6k seg\u00edts\u00e9g\u00e9vel.<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/da2a6d8ed039f0b8e1ea8e1ba562696d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>L\u00e1ssunk neki.<\/p>\n<p><\/p>\n<h3 id=\"shag-1-platforma-cicd\">1. l\u00e9p\u00e9s: CI\/CD platform<\/h3>\n<p><\/p>\n<p>El\u0151sz\u00f6r is sz\u00fcks\u00e9ged van egy CI\/CD eszk\u00f6zre. A Jenkins egy ny\u00edlt forr\u00e1sk\u00f3d\u00fa CI\/CD eszk\u00f6z, amely Java nyelven k\u00e9sz\u00fclt, MIT licenc alatt, \u00e9s amely elind\u00edtotta a DevOps mozgalom n\u00e9pszer\u0171s\u00edt\u00e9s\u00e9t, \u00e9s de facto a CI\/CD szabv\u00e1ny\u00e1v\u00e1 v\u00e1lt.<\/p>\n<p><\/p>\n<p>Mi is az a Jenkins? K\u00e9pzeld el, hogy van egy var\u00e1zspultod a legk\u00fcl\u00f6nb\u00f6z\u0151bb szolg\u00e1ltat\u00e1sok \u00e9s eszk\u00f6z\u00f6k sz\u00e1m\u00e1ra. A CI\/CD eszk\u00f6z, mint a Jenkins, \u00f6nmag\u00e1ban haszontalan, de k\u00fcl\u00f6nb\u00f6z\u0151 eszk\u00f6z\u00f6kkel \u00e9s szolg\u00e1ltat\u00e1sokkal egy\u00fctt mindenhat\u00f3nak bizonyul.<\/p>\n<p><\/p>\n<p>A Jenkinsen k\u00edv\u00fcl sz\u00e1mos m\u00e1s ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z is l\u00e9tezik, v\u00e1lassz b\u00e1rmelyiket. <\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/2bbe6af719b90da0eb0d367aae66d779.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>\u00cdgy n\u00e9z ki a DevOps folyamat CI\/CD eszk\u00f6zzel<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/2410013c9e6030596a59f3ed7ae3a7e7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Localhoston van egy CI\/CD eszk\u00f6z\u00f6d, de m\u00e9g nem sok mindent tudsz csin\u00e1lni. L\u00e9pj\u00fcnk a k\u00f6vetkez\u0151 l\u00e9p\u00e9sre.<\/p>\n<p><\/p>\n<h3 id=\"shag-2-upravlenie-versiyami\">2. l\u00e9p\u00e9s: verzi\u00f3kezel\u00e9s<\/h3>\n<p><\/p>\n<p>A legjobb (\u00e9s val\u00f3sz\u00edn\u0171leg legk\u00f6nnyebb) m\u00f3dja annak, hogy ellen\u0151rizd a CI\/CD eszk\u00f6z var\u00e1zs\u00e1t, az, ha integr\u00e1lod egy verzi\u00f3kezel\u0151 eszk\u00f6zzel (source control management, SCM). Mi\u00e9rt van sz\u00fcks\u00e9g verzi\u00f3kezel\u00e9sre? Tegy\u00fck fel, hogy k\u00e9sz\u00edtesz egy alkalmaz\u00e1st. Java, Python, C++, Go, Ruby, JavaScript vagy b\u00e1rmely m\u00e1s nyelven \u00edrsz, amib\u0151l rengeteg van. Amit \u00edrsz, azt forr\u00e1sk\u00f3dnak h\u00edvj\u00e1k. Eleinte, k\u00fcl\u00f6n\u00f6sen ha egyed\u00fcl dolgozol, az \u00f6sszes f\u00e1jlt t\u00e1rolhatod egy helyi k\u00f6nyvt\u00e1rban. De amikor a projekt n\u0151ni kezd \u00e9s t\u00f6bb ember csatlakozik, sz\u00fcks\u00e9ged van egy m\u00f3dra, hogy megoszd a k\u00f3dbeli m\u00f3dos\u00edt\u00e1sokat, mik\u00f6zben elker\u00fcl\u00f6d a konfliktusokat a v\u00e1ltoz\u00e1sok egyes\u00edt\u00e9sekor. Ezen k\u00edv\u00fcl sz\u00fcks\u00e9ged van arra is, hogy vissza tudd \u00e1ll\u00edtani a kor\u00e1bbi verzi\u00f3kat an\u00e9lk\u00fcl, hogy biztons\u00e1gi m\u00e1solatokat kellene haszn\u00e1lnod, vagy copy-paste m\u00f3dszert alkalmazn\u00e1d a k\u00f3df\u00e1jlokn\u00e1l.<\/p>\n<p><\/p>\n<p>Itt j\u00f6n a k\u00e9pbe az SCM. Az SCM a k\u00f3dot t\u00e1rolja a rep\u00f3ban, kezeli a verzi\u00f3it, \u00e9s koordin\u00e1lja a fejleszt\u0151k k\u00f6z\u00f6tt.<\/p>\n<p><\/p>\n<p>Sz\u00e1mos SCM eszk\u00f6z l\u00e9tezik, de a de facto szabv\u00e1ny szervesen a Git lett. \u00c9n ezt aj\u00e1nlom haszn\u00e1latra, de vannak m\u00e1s lehet\u0151s\u00e9gek is.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/37555a476c27f7066e5648b9e9e4d90b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cdgy n\u00e9z ki a DevOps pipeline, miut\u00e1n hozz\u00e1adtuk az SCM-et.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/am\/4o\/39\/am4o39ooera5tweytt3uyh80wlu.jpeg\"><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/040819b00dc608a9131856dd6a7d4a19.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>A CI\/CD eszk\u00f6z automatiz\u00e1lhatja a forr\u00e1sk\u00f3d felt\u00f6lt\u00e9s\u00e9t \u00e9s let\u00f6lt\u00e9s\u00e9t, valamint a csapatmunk\u00e1t. J\u00f3l hangzik? De hogyan tudunk most ebb\u0151l m\u0171k\u00f6d\u0151 alkalmaz\u00e1st k\u00e9sz\u00edteni, amit milli\u00e1rdok kedvelnek?<\/p>\n<p><\/p>\n<h3 id=\"shag-3-instrument-avtomatizacii-sborki\">3. l\u00e9p\u00e9s: az automatikus \u00e9p\u00edt\u0151eszk\u00f6z<\/h3>\n<p><\/p>\n<p>Minden a tervek szerint halad. Ki tudod t\u00f6lteni a k\u00f3dot \u00e9s r\u00f6gz\u00edteni a v\u00e1ltoztat\u00e1sokat a verzi\u00f3kezel\u0151 rendszerben, valamint bar\u00e1tokat megh\u00edvni, hogy dolgozzanak veled. De m\u00e9g nincs alkalmaz\u00e1sod. Ahhoz, hogy webalkalmaz\u00e1s legyen, azt le kell ford\u00edtani \u00e9s csomagba kell tenni, vagy futtatni kell, mint egy v\u00e9grehajthat\u00f3 f\u00e1jlt. (Az \u00e9rtelmezett programoz\u00e1si nyelveket, mint a JavaScript vagy PHP, nem kell leford\u00edtani.)<\/p>\n<p><\/p>\n<p>Alkalmazd az automatikus \u00e9p\u00edt\u0151eszk\u00f6zt. B\u00e1rmilyen eszk\u00f6zt is v\u00e1lasztasz, \u00f6sszegy\u0171jti a k\u00f3dot a megfelel\u0151 form\u00e1tumban, \u00e9s automatiz\u00e1lja a tiszt\u00edt\u00e1st, ford\u00edt\u00e1st, tesztel\u00e9st \u00e9s kiad\u00e1st. A k\u00fcl\u00f6nb\u00f6z\u0151 nyelvekhez elt\u00e9r\u0151 \u00e9p\u00edt\u0151eszk\u00f6z\u00f6k l\u00e9teznek, de \u00e1ltal\u00e1ban az al\u00e1bbi ny\u00edlt forr\u00e1sk\u00f3d\u00fa lehet\u0151s\u00e9geket haszn\u00e1lj\u00e1k.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/cc6e958a82ac0676429da6c48e66910f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kiv\u00e1l\u00f3! Most illessz\u00fck a build automatiz\u00e1l\u00f3 eszk\u00f6z konfigur\u00e1ci\u00f3s f\u00e1jljait a verzi\u00f3kezel\u0151 rendszerbe, hogy a CI\/CD eszk\u00f6z \u00f6sszegy\u0171jthesse azokat.<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/bba539d128425e7e3ddacdc6028d3604.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>\u00dagy t\u0171nik, minden rendben van. De hova kell most mindezt kiadni?<\/p>\n<p><\/p>\n<h3 id=\"shag-4-server-veb-prilozheniy\">4. l\u00e9p\u00e9s: webalkalmaz\u00e1s szerver<\/h3>\n<p><\/p>\n<p>Teh\u00e1t van egy csomagolt f\u00e1jl, amely v\u00e9grehajthat\u00f3 vagy telep\u00edthet\u0151. Ahhoz, hogy az alkalmaz\u00e1s val\u00f3ban hasznot ny\u00fajtson, sz\u00fcks\u00e9ge van valamilyen szolg\u00e1ltat\u00e1sra vagy fel\u00fcletre, de mindezt valahol el kell helyezni.<\/p>\n<p><\/p>\n<p>A webalkalmaz\u00e1sokat alkalmaz\u00e1sszervereken lehet elhelyezni. Az alkalmaz\u00e1sszerver biztos\u00edtja azt a k\u00f6rnyezetet, ahol v\u00e9grehajthat\u00f3 a csomag programlogik\u00e1ja, megval\u00f3s\u00edthat\u00f3 a fel\u00fclet, \u00e9s megnyithat\u00f3ak a webszolg\u00e1ltat\u00e1sok socketen kereszt\u00fcl. Sz\u00fcks\u00e9ge van egy HTTP-szerverre \u00e9s n\u00e9h\u00e1ny m\u00e1s k\u00f6rnyezetre (p\u00e9ld\u00e1ul virtu\u00e1lis g\u00e9pre), hogy telep\u00edthessen alkalmaz\u00e1sszervert. Jelenleg tegy\u00fck fel, hogy ezzel a folyamat sor\u00e1n megbirk\u00f3zik (b\u00e1r a tart\u00e1lyokr\u00f3l k\u00e9s\u0151bb besz\u00e9lek).<\/p>\n<p><\/p>\n<p>T\u00f6bb ny\u00edlt forr\u00e1sk\u00f3d\u00fa alkalmaz\u00e1sszerver is l\u00e9tezik.<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/7802afe041a9d56c20ddbe2885b5cf37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>M\u00e1r szinte m\u0171k\u00f6d\u0151 DevOps l\u00e1ncot alak\u00edtottunk ki. Sz\u00e9p munka!<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/3d1e524b63fecebf4973cc34a40c160d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Elvileg itt meg\u00e1llhatunk, a k\u00f6vetkez\u0151 l\u00e9p\u00e9seket egyed\u00fcl is meg tudja oldani, de m\u00e9g \u00e9rdemes sz\u00f3t ejteni a k\u00f3d min\u0151s\u00e9g\u00e9r\u0151l.<\/p>\n<p><\/p>\n<h3 id=\"shag-5-testovoe-pokrytie\">5. l\u00e9p\u00e9s: Tesztel\u00e9si lefedetts\u00e9g<\/h3>\n<p><\/p>\n<p>A tesztel\u00e9s id\u0151ig\u00e9nyes \u00e9s f\u00e1raszt\u00f3, de jobb azonnal felfedezni a hib\u00e1kat \u00e9s jav\u00edtani a k\u00f3dot, hogy az v\u00e9gfelhaszn\u00e1l\u00f3kat boldog\u00edtsa. Erre sok ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z \u00e1ll rendelkez\u00e9sre, amelyek nemcsak tesztelik a k\u00f3dot, hanem azt is javasolj\u00e1k, hogyan lehetne jav\u00edtani. A legt\u00f6bb CI\/CD eszk\u00f6z k\u00e9pes kapcsol\u00f3dni ezekhez \u00e9s automatiz\u00e1lni a folyamatot.<\/p>\n<p><\/p>\n<p>A tesztel\u00e9s k\u00e9t r\u00e9szre van osztva: tesztel\u00e9si keretrendszerek az \u00edr\u00e1sra \u00e9s a tesztek futtat\u00e1s\u00e1ra, valamint eszk\u00f6z\u00f6k a k\u00f3dmin\u0151s\u00e9g jav\u00edt\u00e1s\u00e1ra vonatkoz\u00f3 aj\u00e1nl\u00e1sokkal.<\/p>\n<p><\/p>\n<h3 id=\"freymvorki-testirovaniya\">Tesztel\u00e9si keretrendszerek<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cu\/4l\/pn\/cu4lpnpdqa7yd9f5zwsxrrlbylg.png\"><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/c17426a30a4f140be87489d2c8b0d0b9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>K\u00f3dmin\u0151s\u00e9g jav\u00edt\u00f3 eszk\u00f6z\u00f6k<\/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=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/bc65784b8bf5ccaaeef96a0c6ee4422e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Ezeknek az eszk\u00f6z\u00f6knek \u00e9s keretrendszereknek a t\u00f6bbs\u00e9ge Java, Python \u00e9s JavaScript nyelvekhez k\u00e9sz\u00fclt, mivel a C++ \u00e9s C# z\u00e1rt forr\u00e1sk\u00f3d\u00fa (b\u00e1r a GCC ny\u00edlt forr\u00e1sk\u00f3d\u00fa).<\/p>\n<p><\/p>\n<p>A tesztel\u00e9si lefedetts\u00e9g\u00e9nek eszk\u00f6zeit alkalmaztuk, \u00e9s most a DevOps pipeline-nak \u00fagy kell kin\u00e9znie, mint a k\u00e9pen a k\u00e9zik\u00f6nyv elej\u00e9n.<\/p>\n<p><\/p>\n<h2 id=\"dopolnitelnye-shagi\">Tov\u00e1bbi l\u00e9p\u00e9sek<\/h2>\n<p><\/p>\n<h3 id=\"konteynery\">Kont\u00e9nerek<\/h3>\n<p><\/p>\n<p>Ahogy m\u00e1r eml\u00edtettem, az alkalmaz\u00e1sszerver egy virtu\u00e1lis g\u00e9pen vagy szerveren is elhelyezhet\u0151, de a tart\u00e1lyok n\u00e9pszer\u0171bbek.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers\">Mik azok a tart\u00e1lyok<\/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>A tart\u00e1lyokhoz \u00e1ltal\u00e1ban a Dockert \u00e9s a Kubernetes-t haszn\u00e1lj\u00e1k, de vannak m\u00e1s lehet\u0151s\u00e9gek is.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/6n\/wc\/rc\/6nwcrcuhk9swwjxdddudr1cqpzc.png\"><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/8749b7044102ff7f23f2c970d6939246.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Olvasson el cikkeket a Dockerr\u0151l \u00e9s a Kubernetesr\u0151l a <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\">Mi az a Docker?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/business\/15\/1\/introduction-docker\">Bevezet\u00e9s a Dockerbe<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-is-kubernetes\">Mi az a Kubernetes?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/17\/11\/kubernetes-lightning-talk\">Kubernetes null\u00e1r\u00f3l<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"instrumenty-avtomatizacii-promezhutochnogo-po\">K\u00f6ztes szoftver automatiz\u00e1l\u00e1si eszk\u00f6z\u00f6k<\/h3>\n<p><\/p>\n<p>A DevOps l\u00e1ncunk a k\u00f6z\u00f6s alkalmaz\u00e1s\u00e9p\u00edt\u00e9sre \u00e9s -sz\u00e1ll\u00edt\u00e1sra \u00f6sszpontos\u00edt, de a DevOps eszk\u00f6z\u00f6kkel m\u00e1s izgalmas dolgokat is lehet csin\u00e1lni. P\u00e9ld\u00e1ul alkalmazhatjuk az infrastrukt\u00fara mint k\u00f3d (IaC) eszk\u00f6z\u00f6ket, amelyeket a k\u00f6ztes szoftver automatiz\u00e1l\u00e1s\u00e1nak eszk\u00f6zeinek is neveznek. Ezek az eszk\u00f6z\u00f6k seg\u00edtenek automatiz\u00e1lni a k\u00f6ztes szoftver telep\u00edt\u00e9s\u00e9t, kezel\u00e9s\u00e9t \u00e9s egy\u00e9b feladatait. P\u00e9ld\u00e1ul egy automatiz\u00e1l\u00f3 eszk\u00f6z k\u00e9pes lehet az alkalmaz\u00e1sokat (webalkalmaz\u00e1s-szerver, adatb\u00e1zis, monitoring eszk\u00f6z\u00f6k) a megfelel\u0151 konfigur\u00e1ci\u00f3kkal \u00f6sszegy\u0171jteni, \u00e9s kihelyezni \u0151ket az alkalmaz\u00e1s szerverre.<\/p>\n<p><\/p>\n<p>\u00cdme n\u00e9h\u00e1ny ny\u00edlt k\u00f6ztes szoftver automatiz\u00e1l\u00f3 eszk\u00f6z:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kezd\u0151k \u00fatmutat\u00f3ja: DevOps l\u00e1ncok k\u00e9sz\u00edt\u00e9se ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel\" src=\"\/wp-content\/uploads\/2019\/05\/23bb3259f336a3f0ebf11ab4aa5471ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tov\u00e1bbi r\u00e9szletek a cikkekben tal\u00e1lhat\u00f3k a <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\">Ansible kezd\u0151 \u00fatmutat\u00f3<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/automating-deployment-strategies-ansible\">Telep\u00edt\u00e9si automatiz\u00e1l\u00e1si strat\u00e9gi\u00e1k Ansible-lal<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/12\/configuration-management-tools\">5 legjobb konfigur\u00e1ci\u00f3kezel\u0151 eszk\u00f6z<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"i-chto-teper\">\u00c9s most mi k\u00f6vetkezik?<\/h3>\n<p><\/p>\n<p>Ez csup\u00e1n a j\u00e9ghegy cs\u00facsa. A DevOps l\u00e1nc sokkal t\u00f6bbre k\u00e9pes. Kezdje el a CI\/CD eszk\u00f6zzel, \u00e9s fedezze fel, hogy mit lehet m\u00e9g automatiz\u00e1lni a munka megk\u00f6nny\u00edt\u00e9se \u00e9rdek\u00e9ben. Ne feledkezzen meg a <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/alternatives\/slack\">ny\u00edlt kommunik\u00e1ci\u00f3s eszk\u00f6z\u00f6kr\u0151l<\/a><\/noindex> a hat\u00e9kony egy\u00fcttm\u0171k\u00f6d\u00e9shez.<\/p>\n<p><\/p>\n<p>\u00cdme n\u00e9h\u00e1ny tov\u00e1bbi j\u00f3 cikk a DevOps-r\u00f3l kezd\u0151knek:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/devops\">Mi az a DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/master-devops-engineer\">5 DevOps fejleszt\u0151i k\u00e9szs\u00e9g<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/11\/how-non-engineer-got-devops\">DevOps mindenkinek<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/getting-started-predictive-analytics-devops\">Bevezet\u00e9s a predikt\u00edv analitik\u00e1ba a DevOps-ban<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Tov\u00e1bb\u00e1 integr\u00e1lhatjuk a DevOps-ot ny\u00edlt eszk\u00f6z\u00f6kkel az agilishoz:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/10\/what-agile\">Mi az agilis?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/steps-agile-developer\">4 l\u00e9p\u00e9s az agilis elsaj\u00e1t\u00edt\u00e1s\u00e1hoz<\/a><\/noindex><\/li>\n<\/ul>\n<p>Forr\u00e1s: <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.3 - 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\/hu\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\/hu\/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\udd47Kezd\u0151 \u00fatmutat\u00f3: DevOps l\u00e1ncok l\u00e9trehoz\u00e1sa ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hu\/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":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/33504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=33504"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/33504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/25204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=33504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=33504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=33504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}