{"id":87467,"date":"2020-07-08T13:42:11","date_gmt":"2020-07-08T11:42:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-sozdaem-devops-pajplajn"},"modified":"2020-07-08T13:42:11","modified_gmt":"2020-07-08T11:42:11","slug":"rukovodstvo-dlya-nachinayushhih-sozdaem-devops-pajplajn","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-sozdaem-devops-pajplajn","title":{"rendered":"Algajate juhend: loome DevOps torustiku","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Kui olete DevOpsi algaja, siis vaadake seda juhendit, kuidas luua oma esimest viie etapi konveierit.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: loome DevOps torustiku\" src=\"\/wp-content\/uploads\/2020\/07\/605ed7d81323d0b5e094f7f912f8c669.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>DevOps on saanud standardlahenduseks aeglaste, killustatud v\u00f5i mittet\u00f6\u00f6tavate tarkvaraarenduse protsesside parandamiseks. Probleem on aga see, et kui olete DevOpsi uus ja ei tea, kust alustada, siis v\u00f5ib teil puududa arusaam nendest meetoditest. Selles artiklis k\u00e4sitletakse DevOpsi konveieri m\u00e4\u00e4ratlemist ning pakutakse juhendit, kuidas seda luua viie lihtsa sammuga. Kuigi see \u00f5pik ei ole ammendav, peaks see andma teile aluse, et alustada oma teekonda ja laiendada oma teadmisi tulevikus. Aga alustame ajaloost.<\/p>\n<h3>Minu teekond DevOpsis<\/h3>\n<p>\nVarem t\u00f6\u00f6tasin Citi Groupi pilve meeskonnas, arendades Infrastructure-as-a-Service (IaaS) veebirakendust Citi pilveinfrastruktuuri haldamiseks, kuid mind on alati huvitanud, kuidas muuta arendusprotsessi t\u00f5husamaks ja tuua positiivseid kultuurilisi muudatusi arendajate meeskonda. Vastuse leidsin raamatust, mille soovitas Greg Lavender, Citi tehniline direktor pilvearhitektuuri ja infrastruktuuri alal. Raamat kandis pealkirja \u201eThe Phoenix Project\u201c<noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">The Phoenix Project<\/a><\/noindex>), ja seal selgitatakse DevOpsi p\u00f5him\u00f5tteid, olles samas ka romaanina meeldiv lugeda.<\/p>\n<p>Raamatukaane tagak\u00fcljel olevas tabelis on n\u00e4idatud, kui sageli erinevad ettev\u00f5tted juurutavad oma s\u00fcsteeme v\u00e4ljaandearvestuses:<\/p>\n<p>Amazon: 23 000 p\u00e4evas<br \/>\nGoogle: 5 500 p\u00e4evas<br \/>\nNetflix: 500 p\u00e4evas<br \/>\nFacebook: Korra p\u00e4evas<br \/>\nTwitter: 3 korda n\u00e4dalas<br \/>\nT\u00fc\u00fcpiline ettev\u00f5te: Kord 9 kuu jooksul<\/p>\n<p>Kuidas on Amazon, Google ja Netflix suudavad saavutada selliseid sagedusi? K\u00f5ik see on v\u00f5imalik, kuna need ettev\u00f5tted on leidnud, kuidas luua peaaegu ideaalne DevOps konveier.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMe olime sellest kaugel, kuni h\u00e4lbisime DevOpsi Citi-s. Sel ajal olid minu meeskonnas erinevad keskkonnad, kuid arendusserverisse toodud juurutamine oli t\u00e4ielikult k\u00e4sitsi. K\u00f5ik arendajad p\u00e4\u00e4sesid ainult \u00fchele IBM WebSphere Application Server Community Editioni p\u00f5hisele arendusserverile. Probleem seisnes selles, et server kustus iga kord, kui mitu kasutajat \u00fcheaegselt juurutamist tegema p\u00fc\u00fcdsid, seega pidid arendajad \u00fcksteisele oma kavatsustest teatama, mis oli \u00fcsna vaevaline. Lisaks esines madala taseme testimise katvuse, kohmakate k\u00e4sit\u00f6\u00f6juurutamisprotsesside ja v\u00f5imaluste puudumisega j\u00e4lgida koodijuurutamist, mis on seotud konkreetse \u00fclesande v\u00f5i kasutajalooga.<\/p>\n<p>M\u00f5istsin, et peab midagi tegema, ja leidsin kaaskodaniku. Otsustasime koost\u00f6\u00f6d teha algse DevOps-voo loomisel \u2013 tema seadistas virtuaalmasina ja Tomcat rakendusserveri, samas kui mina tegelesin Jenkinsiga, integreerisin Atlassian Jira ja BitBucket'i, samuti t\u00f6\u00f6tasin koodikatte testimise kallal. See k\u00f5rvalprojekt oli v\u00e4ga edukas: automatiseerisime peaaegu t\u00e4ielikult mitmeid protsesse, saavutasime peaaegu 100% katvuse meie arendusserveris, tagasime j\u00e4lgimise ja parandasime koodikatte testimise, samas lisasime v\u00f5imaluse linkida Git'i harud Jira \u00fclesannete v\u00f5i juurutamistega. Enamik t\u00f6\u00f6riistu, mida kasutasime meie DevOps-voo ehitamiseks, olid avatud l\u00e4htekoodiga.<\/p>\n<p>N\u00fc\u00fcd m\u00f5istan, kui lihtne oli meie DevOps-pipeline: me ei kasutanud laiendusi nagu Jenkins files v\u00f5i Ansible. Kuid see lihtne voog t\u00f6\u00f6tas h\u00e4sti, v\u00f5imalikult t\u00e4nu Pareto p\u00f5him\u00f5ttele (tuntud ka kui 80\/20 reegel).<\/p>\n<h3>L\u00fchike \u00fclevaade DevOps-ist ja CI\/CD voost<\/h3>\n<p>\nKui te k\u00fcsiksite mitmelt inimeselt: \u201eMis on DevOps?\u201c, saaksite t\u00f5en\u00e4oliselt mitu erinevat vastust. DevOps, nagu Agile, on arenenud mitmete erinevate valdkondade katmiseks, kuid enamik inimesi n\u00f5ustub m\u00f5ne asja \u00fcle: DevOps on tarkvaraarenduse praktika v\u00f5i tarkvaraarenduse eluts\u00fckkel (SDLC), mille keskne p\u00f5him\u00f5te on kultuuri muutmine, kus arendajad ja mitte-arendajad eksisteerivad keskkonnas, kus:<\/p>\n<p>Automatiseeritud on tegevused, mida varem tehti k\u00e4sitsi; <br \/>\nIga\u00fcks teeb seda, mis tal k\u00f5ige paremini v\u00e4lja tuleb;<br \/>\nTeatud ajavahemiku jooksul toimuvate v\u00e4ljalaskete arv suureneb; Suureneb l\u00e4bilaskev\u00f5ime; <br \/>\nArenduse paindlikkus t\u00f5useb.<\/p>\n<p>Kuigi \u00f5ige tarkvarat\u00f6\u00f6riistade olemasolu ei ole ainus, mis on vajalik DevOpsi keskkonna loomiseks, on m\u00f5ned t\u00f6\u00f6riistad h\u00e4davajalikud. Peamine t\u00f6\u00f6riist on pidev integreerimine ja pidev juurutamine (CI\/CD). Selles konveieris on erinevad etapid (nt DEV, INT, TST, QA, UAT, STG, PROD), paljusid toiminguid automatiseeritakse ja arendajad saavad kirjutada kvaliteetset koodi, saavutades arenduse paindlikkuse ja suure juurutamis sageduse.<\/p>\n<p>Selles artiklis k\u00e4sitletakse viieastmelist l\u00e4henemist DevOps konveieri loomisele, mis sarnaneb j\u00e4rgmise diagrammiga, kasutades avatud l\u00e4htekoodiga t\u00f6\u00f6riistu.<\/p>\n<h3>Samm 1: CI\/CD meetodid<\/h3>\n<p>\nEsimene asi, mida vajate, on CI\/CD t\u00f6\u00f6riist. Jenkins, avatud l\u00e4htekoodiga t\u00f6\u00f6riist, mis p\u00f5hineb java-l ja mille litsents on MIT, on see vahend, mis populariseeris DevOpsi suunda ja sai de facto standardiks.<\/p>\n<p>Nii et mis on Jenkins? M\u00f5elge sellele kui maagilisele universaalsele kaugjuhtimispuldile, mis suudab suhelda erinevate teenuste ja t\u00f6\u00f6riistadega ning organiseerida neid. CI\/CD t\u00f6\u00f6riist ise, nagu Jenkins, ei ole v\u00e4ga kasulik, kuid muutub v\u00f5imsamaks, kui see on \u00fchendatud erinevate t\u00f6\u00f6riistade ja teenustega.<\/p>\n<p>Jenkins on vaid \u00fcks paljusid avatud l\u00e4htekoodiga CI\/CD t\u00f6\u00f6riistu, mida saate kasutada DevOps torujuhtme loomiseks.<\/p>\n<p>Jenkins: Creative Commons ja MIT<br \/>\nTravis CI: MIT<br \/>\nCruiseControl: BSD<br \/>\nBuildbot: GPL<br \/>\nApache Gump: Apache 2.0<br \/>\nCabie: GNU<\/p>\n<p>Nii n\u00e4evad DevOps protsessid v\u00e4lja CI\/CD t\u00f6\u00f6riistaga:<\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: loome DevOps torustiku\" src=\"\/wp-content\/uploads\/2020\/07\/e937f3da170b24c53cb5d67a67a365bb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Teil on CI\/CD t\u00f6\u00f6riist, mis t\u00f6\u00f6tab teie localhostis, kuid praegu ei saa te palju teha. Liigume j\u00e4rgmisele sammule DevOps maailmas.<\/p>\n<h3>Samm 2: Allika juhtimiss\u00fcsteemide haldamine<\/h3>\n<p>\nParim (ja v\u00f5ib-olla ka k\u00f5ige lihtsam) viis kontrollida, kas teie CI\/CD t\u00f6\u00f6riist suudab ime teha, on integreerimine l\u00e4htekoodi halduse t\u00f6\u00f6riistaga (SCM). Miks on teil vajalik l\u00e4htekoodi haldus? Oletame, et arendate rakendust. Iga kord, kui loote rakendust, programmeerite te, ja ei ole vahet, kas kasutate Java't, Pythonit, C++'t, Go't, Ruby't, JavaScripti v\u00f5i m\u00f5nda muud miljonit programmeerimiskeelt. Kood, mille kirjutate, nimetatakse l\u00e4htekoodiks. Alguses, eriti kui t\u00f6\u00f6tate \u00fcksi, on t\u00f5en\u00e4oliselt v\u00f5imalik k\u00f5ik asetada kohalikku kaustasse. Kuid kui projekt kasvab ja kutsute teisi inimesi koost\u00f6\u00f6le, vajate viisi konfliktide ennetamiseks t\u00f5husas muudatuste jagamises. Teil on samuti vaja v\u00f5imalust eelmisi versioone taastada, sest varukoopiate loomine ja nende kopeerimine\/kleepimine on juba vananenud. Teile (ja teie meeskonnakaaslastele) on midagi paremat vaja.<\/p>\n<p>Just siin muutub l\u00e4htekoodi kontrolldus praktiliselt h\u00e4davajalikuks. See t\u00f6\u00f6riist salvestab teie koodi hoidlatele, j\u00e4lgib versioone ja koordineerib projekti osalejate t\u00f6\u00f6d.<\/p>\n<p>Kuigi on palju l\u00e4htekoodi kontrolle, on Git standard ja see on t\u00f5si. Soovitan tungivalt kasutada Git'i, kuigi soovi korral on olemas ka muid avatud l\u00e4htekoodi valikuid.<\/p>\n<p>Git: GPLv2 ja LGPL v2.1<br \/>\nSubversion: Apache 2.0<br \/>\nConcurrent Versions System (CVS): GNU<br \/>\nVesta: LGPL<br \/>\nMercurial: GNU GPL v2+<\/p>\n<p>Selline v\u00e4lja n\u00e4eb DevOps torustik koos l\u00e4htekoodi kontrollivahenditega.<\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: loome DevOps torustiku\" src=\"\/wp-content\/uploads\/2020\/07\/47793d73d3b496aa38e027ff116f729d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>CI\/CD t\u00f6\u00f6riist v\u00f5ib automatiseerida kontrollimise, l\u00e4htekoodi saamise ja koost\u00f6\u00f6 protsessid liikmete vahel. Pole paha? Kuid kuidas teha sellest toimiv rakendus, et miljardid inimesed saaksid seda kasutada ja hinnata?<\/p>\n<h3>Samm 3: Automaatika kogumise t\u00f6\u00f6riista loomine<\/h3>\n<p>\nSuurep\u00e4rane! Saate kontrollida koodi ja teha muudatusi versioonihalduss\u00fcsteemis ning kutsuda oma s\u00f5pru arendusse osalema. Kuid olete ikka veel oma rakendust loonud. Veebirakenduse loomiseks tuleb see kompileerida ja pakkida kasutatavasse paketivormingusse v\u00f5i k\u00e4ivitada t\u00e4itmisfailina. (Pange t\u00e4hele, et t\u00f5lgendatavad programmeerimiskeeled, nagu JavaScript v\u00f5i PHP, ei vaja kompileerimist).<\/p>\n<p>Kasutage ehituse automatiseerimise t\u00f6\u00f6riista. \u00dcksk\u00f5ik, millist ehituse automatiseerimise t\u00f6\u00f6riista otsustate kasutada, on nende \u00fchine eesm\u00e4rk: koguda l\u00e4htekood soovitud vormingusse ja automatiseerida puhastamise, kompileerimise, testimise ja juurutamise \u00fclesanne kindlas keskkonnas. Ehitust\u00f6\u00f6riistad s\u00f5ltuvad teie programmeerimiskeelest, kuid siin on m\u00f5ned levinud avatud l\u00e4htekoodiga variandid.<\/p>\n<p>Nimi<br \/>\nLitsents<br \/>\nProgrammeerkiel<\/p>\n<p>Maven<br \/>\nApache 2.0<br \/>\n Java<\/p>\n<p>Ant<br \/>\nApache 2.0<br \/>\nJava<\/p>\n<p>Gradle<br \/>\nApache 2.0<br \/>\nJava<\/p>\n<p>Bazel<br \/>\nApache 2.0<br \/>\nJava<\/p>\n<p>Make<br \/>\nGNU<br \/>\nN\/A<\/p>\n<p>Grunt<br \/>\nMIT<br \/>\nJavaScript<\/p>\n<p>Gulp<br \/>\nMIT<br \/>\nJavaScript<\/p>\n<p>Buildr<br \/>\nApache<br \/>\nRuby<\/p>\n<p>Rake<br \/>\nMIT<br \/>\nRuby<\/p>\n<p>A-A-P<br \/>\nGNU<br \/>\nPython<\/p>\n<p>SCons<br \/>\nMIT<br \/>\nPython<\/p>\n<p>BitBake<br \/>\nGPLv2<br \/>\nPython<\/p>\n<p>Kook<br \/>\nMIT<br \/>\nC#<\/p>\n<p>ASDF<br \/>\nExpat (MIT)<br \/>\nLISP<\/p>\n<p>Cabal<br \/>\nBSD<br \/>\nHaskell<\/p>\n<p>Tere! Saate oma koostamisautomaadi seadistuses olevad failid paigutada allika juhtimisse ja lasta oma CI\/CD t\u00f6\u00f6riistal k\u00f5ik kokku panna.<\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: loome DevOps torustiku\" src=\"\/wp-content\/uploads\/2020\/07\/573d613914d278e738a0fc7f05644b62.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>K\u00f5ik on h\u00e4sti, eks? Kuid kus on v\u00f5imalik teie rakendust juurutada?<\/p>\n<h3>Samm 4: Veebirakenduste server<\/h3>\n<p>\nPraegu on teil pakitud fail, mis v\u00f5ib olla kas k\u00e4ivitatav v\u00f5i installitav. Selleks, et mis tahes rakendus oleks t\u00f5eliselt kasulik, peab see pakkuma mingit teenust v\u00f5i liidest, kuid vajate konteinerit oma rakenduse mahutamiseks.<\/p>\n<p>Veebirakenduste server on just selline konteiner. Server loob keskkonna, kus saad m\u00e4\u00e4ratleda juurutatava paketi loogika. Samuti annab server liidese ja pakub veebiteenuseid, avades v\u00e4lismaailmale pordid. Teil on vaja HTTP-serverit ja m\u00f5nda keskkonda (nt virtuaalmasin) selle k\u00e4itamiseks. Eeldame seni, et te \u00f5pite selle kohta rohkem (kuigi r\u00e4\u00e4gin konteineritest allpool).<\/p>\n<p>On mitmeid avatud l\u00e4htekoodiga veebirakenduste servereid.<\/p>\n<p>Nimi<br \/>\nLitsents<br \/>\nProgrammeerkiel<\/p>\n<p>Tomcat<br \/>\nApache 2.0<br \/>\nJava<\/p>\n<p>Jetty<br \/>\nApache 2.0<br \/>\nJava<\/p>\n<p>WildFly<br \/>\nGNU Lesser Public<br \/>\nJava<\/p>\n<p>GlassFish<br \/>\nCDDL ja GNU Less Public<br \/>\nJava<\/p>\n<p>Django<br \/>\n3-Clause BSD<br \/>\nPython<\/p>\n<p>Tornado<br \/>\nApache 2.0<br \/>\nPython<\/p>\n<p>Gunicorn<br \/>\nMIT<br \/>\nPython<\/p>\n<p>Python<br \/>\nMIT<br \/>\nPython<\/p>\n<p>Rails<br \/>\nMIT<br \/>\nRuby<\/p>\n<p>Node.js<br \/>\nMIT<br \/>\nJavascript<\/p>\n<p>Teie DevOps toru on peaaegu kasutamiseks valmis. H\u00e4sti tehtud!<\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: loome DevOps torustiku\" src=\"\/wp-content\/uploads\/2020\/07\/9c314e8a42f154ded3b16ec7bdf01f99.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Kuigi v\u00f5ib peatuda ja hakata integreerimisega iseseisvalt tegelema, on koodikvaliteet rakenduse arendajate jaoks oluline ning sellega tuleb tegeleda.<\/p>\n<h3>Samm 5: Koodi testimise katmine<\/h3>\n<p>\nTestide rakendamine v\u00f5ib olla veel \u00fcks t\u00fclikas n\u00f5ue, kuid arendajad peavad rakenduses t\u00f5rkeid varakult tabama ja koodikvaliteeti parandama, et tagada l\u00f5ppkasutajate rahulolu. \u00d5nneks on olemas palju avatud l\u00e4htekoodiga t\u00f6\u00f6riistu teie koodi testimiseks ja kvaliteedi parandamise soovituste genereerimiseks. Veelgi parem on see, et enamik CI\/CD t\u00f6\u00f6riistu saavad nendele t\u00f6\u00f6riistadele \u00fchenduda ja protsessi automatiseerida.<\/p>\n<p>Koodi testimine koosneb kahest osast: koodi testimise raamistikud, mis aitavad testide kirjutamisel ja k\u00e4itamisel, ning soovituste genereerimise t\u00f6\u00f6riistad, mis aitavad koodikvaliteeti parandada.<\/p>\n<p><b>Koodi testimise s\u00fcsteemid<\/b><\/p>\n<p>Nimi<br \/>\nLitsents<br \/>\nProgrammeerkiel<\/p>\n<p>JUnit<br \/>\nEclipse\u2019i avalik litsents<br \/>\nJava<\/p>\n<p>EasyMock<br \/>\nApache<br \/>\nJava<\/p>\n<p>Mockito<br \/>\nMIT<br \/>\nJava<\/p>\n<p>PowerMock<br \/>\nApache 2.0<br \/>\nJava<\/p>\n<p>Pytest<br \/>\n MIT<br \/>\nPython<\/p>\n<p>Hypothesis<br \/>\nMozilla<br \/>\nPython<\/p>\n<p>Tox<br \/>\nMIT<br \/>\nPython<\/p>\n<p><b>Koodiv\u00f5imaluste parandamise s\u00fcsteemid<\/b><\/p>\n<p>Nimi<br \/>\nLitsents<br \/>\nProgrammeerkiel<\/p>\n<p>Cobertura<br \/>\nGNU<br \/>\nJava<\/p>\n<p>CodeCover<br \/>\nEclipse Public (EPL)<br \/>\nJava<\/p>\n<p>Coverage.py<br \/>\n Apache 2.0<br \/>\nPython<\/p>\n<p>Emma<br \/>\n\u00dchine avalik litsents<br \/>\nJava<\/p>\n<p>JaCoCo<br \/>\n Eclipse\u2019i avalik litsents<br \/>\nJava<\/p>\n<p>Hypothesis<br \/>\n Mozilla<br \/>\nPython<\/p>\n<p>Tox<br \/>\nMIT<br \/>\nPython<\/p>\n<p>Jasmine<br \/>\nMIT<br \/>\nJavaScript<\/p>\n<p>Karma<br \/>\nMIT<br \/>\nJavaScript<\/p>\n<p>Mocha<br \/>\n MIT<br \/>\nJavaScript<\/p>\n<p>Jest<br \/>\nMIT<br \/>\nJavaScript<\/p>\n<p>Pange t\u00e4hele, et enamik \u00fclaltoodud t\u00f6\u00f6riistu ja raamistikke on kirjutatud Java, Python ja JavaScript jaoks, kuna C++ ja C# on omandi \u00f5igustega programmeerimiskeeled (kuigi GCC on avatud l\u00e4htekoodiga).<\/p>\n<p>N\u00fc\u00fcd, kui olete rakendanud koodikattete t\u00f6\u00f6riistu, peaks teie DevOps torujuhe olema sarnane alguses esitatud diagrammiga.<\/p>\n<h3>T\u00e4iendavad sammud<\/h3>\n<p>\n<b>Konteinerid<\/b><\/p>\n<p>Nagu juba mainisin, saate oma serveri paigutada virtuaalmasinale v\u00f5i serverisse, kuid konteinerid on populaarsed lahendused.<\/p>\n<p>Mis on konteinerid? L\u00fchi\u00fclevaade on see, et virtuaalmasin vajab oma operatsioonis\u00fcsteemi jaoks suurt m\u00e4lu, mis \u00fcletab rakenduse suuruse, samas kui konteiner vajab ainult m\u00f5ningaid teeke ja konfiguratsioone rakenduse k\u00e4ivitamiseks. Ilmselgelt on virtuaalmasinal endiselt olulised rakendusalad, kuid konteiner on kerge lahendus rakenduse, sealhulgas rakenduste serverite hostimiseks.<\/p>\n<p>Kuigi on ka teisi konteinerite variante, on k\u00f5ige populaarsemad Docker ja Kubernetes.<\/p>\n<p>Docker: Apache 2.0<br \/>\nKubernetes: Apache 2.0<\/p>\n<p><b>Vahe-automatiseerimise t\u00f6\u00f6riistad<\/b><\/p>\n<p>Meie DevOps-toru on peamiselt suunatud rakenduste koostootmisele ja juurutamisele, kuid DevOps-t\u00f6\u00f6riistade abil on v\u00f5imalik teha palju muud. \u00dcks neist on Infrastructure as Code (IaC) t\u00f6\u00f6riistade kasutamine, mida tuntakse ka vahe-automatiseerimise t\u00f6\u00f6riistadena. Need t\u00f6\u00f6riistad aitavad automatiseerida installimist, haldamist ja muid \u00fclesandeid vaheprogrammi jaoks. N\u00e4iteks v\u00f5ib automatiseerimist\u00f6\u00f6riist hankida rakendusi nagu veebirakenduse server, andmebaas ja j\u00e4lgimist\u00f6\u00f6riist, koos \u00f5ige konfigureerimisega ja juurutada need rakenduste serverisse.<\/p>\n<p>Siin on m\u00f5ned avatud l\u00e4htekoodiga vahe-automatiseerimise t\u00f6\u00f6riistad:<\/p>\n<p>Ansible: GNU Public<br \/>\nSaltStack: Apache 2.0<br \/>\nChef: Apache 2.0<br \/>\nPuppet: Apache v\u00f5i GPL<\/p>\n<p><img decoding=\"async\" alt=\"Algajate juhend: loome DevOps torustiku\" src=\"\/wp-content\/uploads\/2020\/07\/148ef7317ca5780b412241ddaec9dc76.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Tutvuge, kuidas omandada n\u00f5utud amet nullist v\u00f5i t\u00f5sta oma oskusi ja palka, osaledes SkillFactory tasulistel veebikursustel:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/skillfactory.ru\/devops?utm_source=infopartners&amp;utm_medium=habr&amp;utm_campaign=DEVOPS&amp;utm_term=regular&amp;utm_content=07072002\">Kursus DevOps'i jaoks<\/a><\/noindex> (12 kuud)<\/li>\n<\/ul>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">rohkem kursusi<\/b><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/skillfactory.ru\/ml-programma-machine-learning-online?utm_source=infopartners&amp;utm_medium=habr&amp;utm_campaign=ML&amp;utm_term=regular&amp;utm_content=07072002\">Kursus Machine Learning'ist<\/a><\/noindex> (12 n\u00e4dalat)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/skillfactory.ru\/data-scientist?utm_source=infopartners&amp;utm_medium=habr&amp;utm_campaign=DST&amp;utm_term=regular&amp;utm_content=07072002\">Data Sciencei amet \u00f5ppimine nullist<\/a><\/noindex> (12 kuud)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/skillfactory.ru\/analytics?utm_source=infopartners&amp;utm_medium=habr&amp;utm_campaign=SDA&amp;utm_term=regular&amp;utm_content=07072002\">Ametikohad anal\u00fc\u00fctikutele igasuguste algtasemete jaoks<\/a><\/noindex> (9 kuud)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/skillfactory.ru\/python-for-web-developers?utm_source=infopartners&amp;utm_medium=habr&amp;utm_campaign=PWS&amp;utm_term=regular&amp;utm_content=07072002\">Kursus \u201ePython veebiarenduseks\u201c<\/a><\/noindex> (9 kuud)<\/li>\n<\/ul>\n<p><\/p>\n<h3>Kasulik<\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillfactory\/blog\/503196\/\">450 tasuta kursust Ivy League'ist<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillfactory\/blog\/508450\/\">Andmete teaduse trendid 2020<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillfactory\/blog\/508556\/\">Andmete teadus on surnud. Elagu \u00e4riteadus<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillfactory\/blog\/506790\/\">Andmete teadus steroididel: tutvumine otsuste intellektiga<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillfactory\/blog\/503504\/\">K\u00f5ige edukaim ja k\u00f5ige skandaalsem andmete teaduse projekt: Cambridge Analytica<\/a><\/noindex><\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillfactory\/blog\/509964\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps, \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u0438\u0437 \u043f\u044f\u0442\u0438 \u044d\u0442\u0430\u043f\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps \u0438 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c, \u0442\u043e \u0432\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0412 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87468,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87467","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=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps, \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u0438\u0437 \u043f\u044f\u0442\u0438 \u044d\u0442\u0430\u043f\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps \u0438 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c, \u0442\u043e \u0432\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0412\" \/>\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-nachinayushhih-sozdaem-devops-pajplajn\" \/>\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 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445: \u0441\u043e\u0437\u0434\u0430\u0435\u043c DevOps-\u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps, \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u0438\u0437 \u043f\u044f\u0442\u0438 \u044d\u0442\u0430\u043f\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps \u0438 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c, \u0442\u043e \u0432\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0412\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-sozdaem-devops-pajplajn\" \/>\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=\"2020-07-08T11:42:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-08T11:42:11+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\udd47Algajatele m\u00f5eldud juhend: loome DevOpsi konveieri | ProHoster","description":"Kui olete DevOpsi algaja, siis vaadake l\u00e4bi see juhend, kuidas luua oma esimest viie etapi konveierit. DevOps on muutunud standardlahenduseks aeglaste, killustatud v\u00f5i mittetoimivate tarkvaraarendusprotsesside parandamiseks. Probleem on selles, et kui olete DevOpsi algaja ja ei tea, kust alustada, v\u00f5ite vajada nende meetodite m\u00f5istmist.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-sozdaem-devops-pajplajn","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 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445: \u0441\u043e\u0437\u0434\u0430\u0435\u043c DevOps-\u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d | ProHoster","og:description":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps, \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u0438\u0437 \u043f\u044f\u0442\u0438 \u044d\u0442\u0430\u043f\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 DevOps \u0438 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c, \u0442\u043e \u0432\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0412","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-sozdaem-devops-pajplajn","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":"2020-07-08T11:42:11+00:00","article:modified_time":"2020-07-08T11:42:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87467","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:50:31","updated":"2022-09-29 03:37:01"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87467","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=87467"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87467\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/87468"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=87467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=87467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=87467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}