{"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\/et\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","title":{"rendered":"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/2f9db2f057c4bcb3f2e57a484dd30c8c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Esimese DevOpsi ahela loomine viies sammus algajatele.<\/em><\/p>\n<p><\/p>\n<p>DevOps on muutunud lahenduseks liiga aeglastele, killustatud ja muudele murettekitavatele arendusprotsessidele. Kuid vajatakse minimaalset arusaamist DevOps-ist. Siin k\u00e4sitletakse selliseid m\u00f5isteid nagu DevOpsi ahel ja selle loomine viie sammu abil. See ei ole t\u00e4ielik juhend, vaid ainult \u201ekala\u201d, mida on v\u00f5imalik laiendada. Alustame ajalooga.<\/p>\n<p><\/p>\n<h3 id=\"moe-znakomstvo-s-devops\">Minu tutvus DevOps-iga<\/h3>\n<p><\/p>\n<p>Kuna t\u00f6\u00f6tasin kunagi Citi Groupis pilveteenuste vallas ja arendasin IaaS veebirakendust, et hallata Citi pilveinfrastruktuuri, oli mul alati huvi leida viise arendusprotsessi optimeerimiseks ja arendajate vahelise kultuuri parandamiseks. Meie tehnoloogia direktor, Greg Lavender, soovitas mulle raamatut <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">Projekt \u201eF\u00f6\u00f6niks\u201d<\/a><\/noindex>. See selgitab suurep\u00e4raselt DevOpsi p\u00f5him\u00f5tteid ning lugemine on kui romaan.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Tabeli tagak\u00fcljel on n\u00e4idatud, kui sageli ettev\u00f5tted uusi versioone v\u00e4ljastavad:<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/a723283e54f7614b6b92eab78509985d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Kuidas Amazon, Google ja Netflix suudavad nii palju versioone v\u00e4ljastada? K\u00f5ik on lihtne: nad on aru saanud, kuidas luua peaaegu ideaalne DevOpsi ahel.<\/p>\n<p><\/p>\n<p>Citi-s oli k\u00f5ik hoopis teistsugune, kuni me DevOps'i peale \u00fcle l\u00e4ksime. Sel ajal oli minu meeskonnal erinevad keskkonnad, kuid arendusse serverisse toimestamine toimus k\u00e4sitsi. K\u00f5igil arendajatel oli juurdep\u00e4\u00e4s ainult \u00fchele IBM WebSphere Application Server Community Edition'i baasil olevatele arendusserverile. Kui k\u00f5ik p\u00fc\u00fcdsid samal ajal toimetada, \u201ekukutas\u201d server ja pidime iga kord \u201evalusalt\u201d omavahel kokkuleppele j\u00f5udma. Lisaks puudus meil piisav testikattete katmine, t\u00f6\u00f6mahukas k\u00e4sitsi toimetamise protsess ja ei olnud v\u00f5imalust j\u00e4lgida koodi toimetamist teatud \u00fclesande v\u00f5i kliendi n\u00f5ude j\u00e4rgi.<\/p>\n<p><\/p>\n<p>Olukord oli selge, et midagi tuleb kiiresti ette v\u00f5tta, ja ma leidsin kolleegi, kes jagas mu m\u00f5tteid. Otsustasime koos luua esimese DevOps ahela \u2014 tema seadis \u00fcles virtuaalse masina ja Tomcat rakendusserveri, samas kui mina keskendusin Jenkinsile, integreerimisele Atlassian Jira ja BitBucketiga ning koodi katmise testimisele. Projekt osutus edukaks: me automatiseerisime t\u00e4ielikult arendusahela, saavutasime peaaegu 100% t\u00f6\u00f6kindluse arendusseerveris, suutsime j\u00e4lgida ja parandada koodi katmist testidega ning Git haru sai siduda tarnimise ja Jira \u00fclesandega. Ja peaaegu k\u00f5ik t\u00f6\u00f6riistad, millega me DevOps ahela ehitasime, olid avatud l\u00e4htekoodiga.<\/p>\n<p><\/p>\n<p>Tegelikult oli ahel lihtsustatud, kuna me ei kasutanud isegi ulatuslikke konfiguratsioone Jenkinsis v\u00f5i Ansible'is. Kuid meil l\u00e4ks k\u00f5ik korda. V\u00f5ib-olla on see tagaj\u00e4rg p\u00f5him\u00f5ttele <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_principle\">Pareto<\/a><\/noindex> (tuntud ka kui 80\/20 reegel).<\/p>\n<p><\/p>\n<h3 id=\"kratkoe-opisanie-cepochki-devops-i-cicd\">L\u00fchike \u00fclevaade DevOps ahelast ja CI\/CD-st<\/h3>\n<p><\/p>\n<p>DevOps'il on erinevaid m\u00e4\u00e4ratlusi. Nagu Agile, h\u00f5lmab DevOps ka erinevaid distsipliine. Siiski n\u00f5ustuvad enamik inimesi j\u00e4rgmise m\u00e4\u00e4ratlemisega: DevOps on meetod v\u00f5i tarkvaraarenduse eluts\u00fckkel, mille peamine p\u00f5him\u00f5te on luua kultuur, kus arendajad ja teised t\u00f6\u00f6tajad on \"\u00fchel lainel\", k\u00e4sitsi t\u00f6\u00f6 on automatiseeritud, iga\u00fcks tegeleb sellega, milles ta on parim, tarnete sagedus suureneb, t\u00f6\u00f6 tootlikkus kasvab ning paindlikkus suureneb.<\/p>\n<p><\/p>\n<p>Kuigi pelgalt t\u00f6\u00f6riistadest ei piisa DevOps'i keskkonna loomiseks, on need h\u00e4davajalikud. K\u00f5ige olulisem neist on pidev integreerimine ja pidev tarnimine (CI\/CD). Iga keskkonna tarneprotsessis on erinevad etapid (n\u00e4iteks DEV (arendus), INT (integreerimine), TST (testimine), QA (kvaliteedikontroll), UAT (kasutajate vastuv\u00f5tutestimine), STG (ettevalmistus), PROD (kasutamine)), k\u00e4sitsi \u00fclesanded on automatiseeritud, arendajad saavad kirjutada kvaliteetset koodi, teevad selle tarnimise ja saavad lihtsalt \u00fcmber ehitada.<\/p>\n<p><\/p>\n<p>See note describes how to create a DevOps chain in five steps, as shown in the picture below, using open-source tools.<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/da2a6d8ed039f0b8e1ea8e1ba562696d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Let\u2019s get to the point.<\/p>\n<p><\/p>\n<h3 id=\"shag-1-platforma-cicd\">Step 1: CI\/CD Platform<\/h3>\n<p><\/p>\n<p>First, you need a CI\/CD tool. Jenkins is an open-source CI\/CD tool written in Java under the MIT license, which initiated the popularization of the DevOps movement and has become the de facto standard for CI\/CD.<\/p>\n<p><\/p>\n<p>So, what is Jenkins? Imagine having a magic remote control for various services and tools. The CI\/CD tool itself, like Jenkins, is useless, but when combined with different tools and services, it becomes all-powerful.<\/p>\n<p><\/p>\n<p>Besides Jenkins, there are many other open-source tools; choose any. <\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/2bbe6af719b90da0eb0d367aae66d779.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Here\u2019s how the DevOps process looks with a CI\/CD tool.<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/2410013c9e6030596a59f3ed7ae3a7e7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>You have a CI\/CD tool on localhost, but there's not much to do yet. Let's move to the next step.<\/p>\n<p><\/p>\n<h3 id=\"shag-2-upravlenie-versiyami\">Step 2: Version Control<\/h3>\n<p><\/p>\n<p>Parim ja arvatavasti k\u00f5ige lihtsam viis CI\/CD t\u00f6\u00f6riista v\u00f5lu testimiseks on selle integreerimine versioonihaldust\u00f6\u00f6riistaga (source control management, SCM). Miks on versioonihaldus vajalik? Kujutage ette, et loote rakendust. Te kirjutate seda Java, Python, C++, Go, Ruby, JavaScriptis v\u00f5i m\u00f5nes muus keeles, millel on palju variante. Seda, mida te kirjutate, nimetatakse allikakoodiks. Alguses, eriti kui t\u00f6\u00f6tate \u00fcksi, saate k\u00f5ik salvestada kohalikku kataloogi. Kuid kui projekt kasvab ja rohkem inimesi liitub, vajate viisi, kuidas jagada koodimuudatusi, v\u00e4ltides samas muudatuste \u00fchinemise konflikte. Ja teil on vaja ka mingit viisi varasemate versioonide taastamiseks ilma varukoopiateta ja faile k\u00e4sitsi kopeerimata.<\/p>\n<p><\/p>\n<p>Ja siinkohal ei saa SCM-st \u00fcle ega \u00fcmber. SCM s\u00e4ilitab koodi hoidlates, haldab selle versioone ja koordineerib seda arendajate vahel.<\/p>\n<p><\/p>\n<p>SCM t\u00f6\u00f6riistu on palju, kuid de facto standardiks on \u00f5igustatult saanud Git. Soovitan kasutada just seda, kuigi olemas on ka teisi variante.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/37555a476c27f7066e5648b9e9e4d90b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nii n\u00e4eb v\u00e4lja DevOps pipeline p\u00e4rast SCM-i lisamist.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/am\/4o\/39\/am4o39ooera5tweytt3uyh80wlu.jpeg\"><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/040819b00dc608a9131856dd6a7d4a19.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>CI\/CD t\u00f6\u00f6riist v\u00f5ib automatiseerida l\u00e4htekoodi \u00fcleslaadimise ja allalaadimise ning meeskonnat\u00f6\u00f6. Pole paha? Aga kuidas n\u00fc\u00fcd selle pealt t\u00f6\u00f6tav rakendus luua, mis on miljardite kasutajate lemmik?<\/p>\n<p><\/p>\n<h3 id=\"shag-3-instrument-avtomatizacii-sborki\">Samm 3: ehituse automatiseerimise t\u00f6\u00f6riist<\/h3>\n<p><\/p>\n<p>K\u00f5ik l\u00e4heb nagu peab. Saate koodi allalaadida ja muudatusi versioonihalduss\u00fcsteemis registreerida ning kutsuda s\u00f5pru koos t\u00f6\u00f6tama. Kuid rakendust teil veel pole. Et sellest veebirakendus saada, tuleb see kompileerida ja pakkida tarnimiseks v\u00f5i k\u00e4ivitada t\u00e4itmisfailina. (T\u00f5lgitavat programmeerimiskeelt, nagu JavaScript v\u00f5i PHP, ei pea kompileerima.)<\/p>\n<p><\/p>\n<p>Kasutage ehituse automatiseerimise t\u00f6\u00f6riista. \u00dcksk\u00f5ik, millist t\u00f6\u00f6riista te valite, kogub see koodi vajaliku vormingusse ja automatiseerib puhastamise, kompileerimise, testimise ja tarnimise. Ehitust\u00f6\u00f6riistu on erinevaid, s\u00f5ltuvalt keelest, kuid tavaliselt kasutatakse j\u00e4rgmisi avatud l\u00e4htekoodiga variante.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/cc6e958a82ac0676429da6c48e66910f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Suurep\u00e4rane! N\u00fc\u00fcd lisame ehituse automatiseerimise t\u00f6\u00f6riista konfigureerimise failid versioonihalduss\u00fcsteemi, et CI\/CD t\u00f6\u00f6riist need kokku koguks.<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/bba539d128425e7e3ddacdc6028d3604.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Noh, k\u00f5ik n\u00e4ib normaalne. Aga kuhu n\u00fc\u00fcd k\u00f5ik see t\u00f5ugata?<\/p>\n<p><\/p>\n<h3 id=\"shag-4-server-veb-prilozheniy\">Samm 4: veebirakenduste server<\/h3>\n<p><\/p>\n<p>Niisiis, teil on pakitud fail, mida saab kasutada v\u00f5i juurutada. Et rakendus t\u00f5eliselt kasulikuks osutuks, peab tal olema mingi teenus v\u00f5i liides, kuid peate selle kuskile paigutama.<\/p>\n<p><\/p>\n<p>Veebirakendust saab majutada veebirakenduste serveris. Rakenduste server loob keskkonna, kus saab t\u00e4ita paketi programmiloogikat, luua liidese joonistamise ja avada veebiteenuseid pordi kaudu. Teil on vaja HTTP-serverit ja mitmeid teisi keskkondi (n\u00e4iteks virtuaalmasinat), et rakenduste server paigaldada. Praegu kujutame ette, et te olete k\u00f5ik selle protsessi ajal rehkendanud (kuigi konteineritest r\u00e4\u00e4gin allpool).<\/p>\n<p><\/p>\n<p>On mitu avatud veebirakenduste serverit.<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/7802afe041a9d56c20ddbe2885b5cf37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Meil on juba peaaegu toimiv DevOpsi ahel. Suurep\u00e4rane t\u00f6\u00f6!<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/3d1e524b63fecebf4973cc34a40c160d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>P\u00f5him\u00f5tteliselt saate siin peatuda, edasise osaga saate ise hakkama, kuid tasub veel r\u00e4\u00e4kida koodi kvaliteedist.<\/p>\n<p><\/p>\n<h3 id=\"shag-5-testovoe-pokrytie\">Samm 5: Testimise katvus<\/h3>\n<p><\/p>\n<p>Testimine v\u00f5tab palju aega ja vaeva, kuid parem on kohe leida vead ja parandada koodi, et rahuldada l\u00f5ppkasutajaid. Selle eesm\u00e4rgiga on saadaval palju avatud t\u00f6\u00f6riistu, mis mitte ainult ei testi koodi, vaid pakuvad ka soovitusi selle parendamiseks. Enamik CI\/CD t\u00f6\u00f6riistu saavad nende t\u00f6\u00f6riistadega \u00fchenduda ja automatiseerida protsessi.<\/p>\n<p><\/p>\n<p>Testimine on jagatud kaheks osaks: testimisraamistikeks, et kirjutada ja k\u00e4ivitada teste, ning t\u00f6\u00f6riistadeks, mis annavad soovitusi koodi kvaliteedi t\u00f5stmiseks.<\/p>\n<p><\/p>\n<h3 id=\"freymvorki-testirovaniya\">Testimisraamistikud<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cu\/4l\/pn\/cu4lpnpdqa7yd9f5zwsxrrlbylg.png\"><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/c17426a30a4f140be87489d2c8b0d0b9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Kvaliteedi soovitustega t\u00f6\u00f6riistad<\/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=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/bc65784b8bf5ccaaeef96a0c6ee4422e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Enamik neist t\u00f6\u00f6riistadest ja raamistikest on kirjutatud Java, Python ja JavaScripti jaoks, kuna C++ ja C# on patenteeritud (kuigi GCC-l on avatud l\u00e4htekood).<\/p>\n<p><\/p>\n<p>Oleme rakendanud testikatte t\u00f6\u00f6riistu ning n\u00fc\u00fcd peaks DevOpsi pipeline v\u00e4lja n\u00e4gema nagu juhendi alguses oleval pildil.<\/p>\n<p><\/p>\n<h2 id=\"dopolnitelnye-shagi\">T\u00e4iendavad sammud<\/h2>\n<p><\/p>\n<h3 id=\"konteynery\">Konteinerid<\/h3>\n<p><\/p>\n<p>Kuidas ma juba \u00fctlesin, saab rakendusserveri paigutada virtuaalmasinale v\u00f5i serverisse, kuid konteinerid on populaarsemad.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers\">Mis on konteinerid<\/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>Konteinerite jaoks kasutatakse tavaliselt Dockerit ja Kubernetes'i, kuigi ka teisi valikuid on.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/6n\/wc\/rc\/6nwcrcuhk9swwjxdddudr1cqpzc.png\"><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/8749b7044102ff7f23f2c970d6939246.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Lugege artikleid Dockerist ja Kubernetesest saidil <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\">Mis on Docker?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/business\/15\/1\/introduction-docker\">Dockeri sissejuhatus<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-is-kubernetes\">Mis on Kubernetes?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/17\/11\/kubernetes-lightning-talk\">Kubernetes algusest peale<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"instrumenty-avtomatizacii-promezhutochnogo-po\">Vahekihtide automatiseerimise t\u00f6\u00f6riistad<\/h3>\n<p><\/p>\n<p>Meie DevOps ahel on suunatud rakenduste koost\u00f6\u00f6le ja tarnimisele, kuid DevOps t\u00f6\u00f6riistadega saab teha ka palju muud huvitavat. N\u00e4iteks kasutatakse t\u00f6\u00f6riistu \u201einfrastruktuur kui kood\u201c (IaC), mida nimetatakse ka vahekihtide automatiseerimise t\u00f6\u00f6riistadeks. Need t\u00f6\u00f6riistad aitavad automatiseerida installatsiooni, haldamist ja muid \u00fclesandeid vahekihtide jaoks. N\u00e4iteks v\u00f5ib automatiseerimise t\u00f6\u00f6riist v\u00f5tta rakendusi (veebirakenduste server, andmebaas, j\u00e4lgimist\u00f6\u00f6riistad) \u00f5ige konfiguratsiooniga ja jagada neid rakenduste serverisse.<\/p>\n<p><\/p>\n<p>Siin on m\u00f5ned avatud vahekihtide automatiseerimise t\u00f6\u00f6riistade variandid:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: DevOpsi ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil\" src=\"\/wp-content\/uploads\/2019\/05\/23bb3259f336a3f0ebf11ab4aa5471ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lisainfot leiate artiklitest <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'i algamise juhend<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/automating-deployment-strategies-ansible\">Ansible'iga juurutamise automatiseerimise strateegiad<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/12\/configuration-management-tools\">5 parimat konfiguratsioonihalduse t\u00f6\u00f6riista<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"i-chto-teper\">Ja mis n\u00fc\u00fcd?<\/h3>\n<p><\/p>\n<p>See on alles j\u00e4\u00e4m\u00e4e tipp. DevOps-ahel suudab palju rohkem. Alustage CI\/CD t\u00f6\u00f6riistast ja avastage, mida veel saaksite automatiseerida, et oma t\u00f6\u00f6d lihtsustada. \u00c4rge unustage <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/alternatives\/slack\">avatud suhtlust\u00f6\u00f6riistu<\/a><\/noindex> efektiivseks koost\u00f6\u00f6ks.<\/p>\n<p><\/p>\n<p>Siin on veel m\u00f5ned head artiklid DevOpsist alustamiseks:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/devops\">Mis on DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/master-devops-engineer\">5 DevOps-arendaja oskust<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/11\/how-non-engineer-got-devops\">DevOps k\u00f5igile<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/getting-started-predictive-analytics-devops\">Sissejuhatus ennustavasse anal\u00fc\u00fctikasse DevOpsis<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Ja DevOpsi saab integreerida avatud t\u00f6\u00f6riistadega agile'i jaoks:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/10\/what-agile\">Mis on agile?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/steps-agile-developer\">4 sammu agile'i omandamiseks<\/a><\/noindex><\/li>\n<\/ul>\n<p>Allikas: <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 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\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.\" \/>\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\/et\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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:description\" content=\"\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/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\udd47Algajate juhend: DevOps-ahelate loomine avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil | ProHoster","description":"Esimese DevOps-ahela loomine viie sammu kaudu algajatele. DevOps on saanud lahenduseks liiga aeglastele, killustatud ja teistele probleemsetele arendusprotsessidele. Kuid on vajalik minimaalne teadlikkus DevOpsist. Siin k\u00e4sitletakse selliseid m\u00f5isteid nagu DevOps-ahel ja kuidas seda viie sammuga luua. See ei ole t\u00e4ielik juhend, vaid lihtsalt \"kalad\", mida saab laiendada. Alustame ajaloost.","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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:description":"\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.","og:url":"https:\/\/prohoster.info\/et\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/33504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=33504"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/33504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/25204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=33504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=33504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=33504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}