{"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\/sl\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","title":{"rendered":"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/2f9db2f057c4bcb3f2e57a484dd30c8c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Ustvarjanje prve DevOps verige v petih korakih za za\u010detnike.<\/em><\/p>\n<p><\/p>\n<p>DevOps je postal re\u0161itev za prepo\u010dasen, razdrobljen in mnoge druge problemati\u010dne razvojne procese. Vendar so potrebne osnovne informacije o DevOps. Opravljena bo razlaga pojmov, kot so DevOps veriga in kako jo ustvariti v petih korakih. To ni popoln vodnik, temve\u010d le 'riba', ki jo lahko raz\u0161irimo. Za\u010dnimo s zgodovino.<\/p>\n<p><\/p>\n<h3 id=\"moe-znakomstvo-s-devops\">Moje sre\u010danje z DevOps<\/h3>\n<p><\/p>\n<p>Neko\u010d sem delal z obla\u010dnimi re\u0161itvami v Citi Group in razvijal IaaS spletno aplikacijo za upravljanje obla\u010dne infrastrukture Citi, vendar me je vedno zanimalo, kako optimizirati razvojno verigo in izbolj\u0161ati kulturo med razvijalci. Greg Lavender, na\u0161 tehni\u010dni direktor za obla\u010dno arhitekturo in infrastrukturo, mi je priporo\u010dil knjigo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">Projekt 'Feniks'<\/a><\/noindex>. Odli\u010dno pojasnjuje na\u010dela DevOps, branje pa je kot roman.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>V tabeli na zadnji strani je prikazano, kako pogosto podjetja spro\u0161\u010dajo nove razli\u010dice:<\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/a723283e54f7614b6b92eab78509985d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Kako Amazon, Google in Netflix uspejo tako pogosto spro\u0161\u010dati? Vse je preprosto: spoznali so, kako ustvariti skoraj popolno DevOps verigo.<\/p>\n<p><\/p>\n<p>Pri nas v Citi je bilo vse povsem druga\u010de, dokler se nismo preusmerili na DevOps. Takrat je imela moja ekipa razli\u010dna okolja, a dobava na razvojni stre\u017enik je potekala ro\u010dno. Vsi razvijalci so imeli dostop le do enega razvojnega stre\u017enika, ki je temeljil na IBM WebSphere Application Server Community Edition. Ob poskusu hkratne dobave je stre\u017enik 'padel', nato smo se morali vsaki\u010d 'te\u017eko' dogovoriti. Imeli smo tudi nezadostno testno pokritost kode, zamuden ro\u010dni proces dobave in nobeno mo\u017enost sledenja dobavi kode za dolo\u010deno nalogo ali zahtevo stranke.<\/p>\n<p><\/p>\n<p>Bilo je jasno, da je potrebno hitro ukrepati, in na\u0161el sem kolega, ki se je strinjal z mano. Odlo\u010dila sva se, da skupaj ustvariva prvo DevOps verigo - on je nastavil virtualni stroj in stre\u017enik aplikacij Tomcat, jaz pa sem se ukvarjal z Jenkinsom, integracijo z Atlassian Jiro in BitBucket, kot tudi s testno pokritostjo kode. Projekt je bil uspe\u0161en: popolnoma smo avtomatizirali razvojno verigo, dosegli skoraj 100% neprekinjeno delovanje razvojnega stre\u017enika, lahko smo spremljali in izbolj\u0161ali testno pokritost kode, ter povezali Git vejo z dobavo in nalogo Jira. In skoraj vsi orodja, ki smo jih uporabili za izgradnjo DevOps verige, so bili odprtokodna.<\/p>\n<p><\/p>\n<p>V resnici je bil postopek poenostavljen, saj nismo uporabljali zapletenih konfiguracij s pomo\u010djo Jenkins ali Ansible. Vseeno nam je uspelo. Morda je to posledica na\u010dela <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_principle\">Pareto<\/a><\/noindex> (tudi pravilo 80\/20).<\/p>\n<p><\/p>\n<h3 id=\"kratkoe-opisanie-cepochki-devops-i-cicd\">Kratka predstavitev DevOps in CI\/CD procesa<\/h3>\n<p><\/p>\n<p>DevOps ima razli\u010dne definicije. Podobno kot Agile vklju\u010duje razli\u010dne discipline. Ve\u010dina se bo strinjala s to definicijo: DevOps je metoda oziroma \u017eivljenjski cikel razvoja programske opreme, katerega glavno na\u010delo je ustvarjanje kulture, v kateri so razvijalci in drugi zaposleni 'na isti valovni dol\u017eini', je ro\u010dno delo avtomatizirano, vsak se ukvarja s tistim, kar najbolje obvlada, pove\u010duje se pogostost dobav, ve\u010dja je produktivnost dela in pove\u010duje se prilagodljivost.<\/p>\n<p><\/p>\n<p>\u010ceprav orodja sama po sebi niso dovolj za ustvarjanje DevOps okolja, so nujna. Najpomembnej\u0161e med njimi sta neprekinjena integracija in neprekinjena dostava (CI\/CD). V verigi za vsako okolje obstajajo razli\u010dne faze (na primer, DEV (razvoj), INT (integracija), TST (testiranje), QA (nadzor kakovosti), UAT (sprejemno testiranje uporabnikov), STG (priprava), PROD (uporaba)), ro\u010dne naloge so avtomatizirane, razvijalci lahko pi\u0161ejo kakovostno kodo, zagotavljajo jo in se enostavno prilagajajo.<\/p>\n<p><\/p>\n<p>Ta opomba opisuje, kako v petih korakih ustvariti DevOps verigo, kot je prikazano na spodnji sliki, s pomo\u010djo orodij z odprtokodnim kodom.<\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/da2a6d8ed039f0b8e1ea8e1ba562696d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Pojdimo k stvari.<\/p>\n<p><\/p>\n<h3 id=\"shag-1-platforma-cicd\">Korak 1: CI\/CD platforma<\/h3>\n<p><\/p>\n<p>Najprej potrebujete orodje CI\/CD. Jenkins je odprtokodno orodje CI\/CD, napisano v Javi, s MIT licenco, ki je pripomoglo k popularizaciji gibanja DevOps in je de facto postalo standard za CI\/CD.<\/p>\n<p><\/p>\n<p>Kaj je Jenkins? Predstavljajte si, da imate \u010darobni nadzornik za razli\u010dne storitve in orodja. Samo orodje CI\/CD, kot je Jenkins, je brez pomo\u010di orodij in storitev neuporabno, a z njimi postane vsemogo\u010dno.<\/p>\n<p><\/p>\n<p>Poleg Jenkinsa obstaja \u0161e veliko drugih odprtokodnih orodij, izberite katerokoli. <\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/2bbe6af719b90da0eb0d367aae66d779.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tako izgleda DevOps postopek z orodjem CI\/CD<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/es\/-3\/dj\/es-3djmmligdmtcuvicigopzt8e.jpeg\"><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/2410013c9e6030596a59f3ed7ae3a7e7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Na va\u0161em localhostu imate orodje CI\/CD, vendar zaenkrat ni prav veliko, kar bi lahko po\u010deli. Pojdimo na naslednji korak.<\/p>\n<p><\/p>\n<h3 id=\"shag-2-upravlenie-versiyami\">Korak 2: upravljanje razli\u010dic<\/h3>\n<p><\/p>\n<p>Najbolji (i, verovatno, najjednostavniji) na\u010din za proveru magije CI\/CD alata je integrisati ga s alatom za upravljanje verzijama (source control management, SCM). Za\u0161to je potrebno upravljanje verzijama? Recimo da pravite aplikaciju. Pi\u0161ete je u Javi, Pythonu, C++, Go, Ruby, JavaScriptu ili bilo kojem drugom jeziku, kojih ima na pretek. Ono \u0161to pi\u0161ete zove se izvorni kod. U po\u010detku, posebno ako radite sami, mo\u017eete sve sa\u010duvati u lokalnom direktorijumu. Ali kada projekat poraste i pridru\u017ei mu se vi\u0161e ljudi, potreban vam je na\u010din da delite promene u kodu, a da pritom izbegnete konflikte prilikom spajanja izmena. Tako\u0111e, morate imati na\u010din da vra\u0107ate prethodne verzije bez kori\u0161\u0107enja rezervnih kopija i primene metode copy-paste za fajlove sa kodom.<\/p>\n<p><\/p>\n<p>I tu je SCM neophodan. SCM \u010duva kod u repozitorijumima, upravlja njegovim verzijama i uskla\u0111uje ga me\u0111u programerima.<\/p>\n<p><\/p>\n<p>Alata za SCM ima mnogo, ali de facto standard postao je Git. Preporu\u010dujem njegovu upotrebu, ali postoje i druge opcije.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/37555a476c27f7066e5648b9e9e4d90b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ovako izgleda DevOps pipeline nakon dodavanja SCM-a.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/am\/4o\/39\/am4o39ooera5tweytt3uyh80wlu.jpeg\"><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/040819b00dc608a9131856dd6a7d4a19.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>CI\/CD alat mo\u017ee automatizovati u\u010ditavanje i preuzimanje izvornog koda i zajedni\u010dki rad u timu. Dobro, zar ne? Ali kako sada od ovoga napraviti funkcionalnu aplikaciju koju vole milijarde korisnika?<\/p>\n<p><\/p>\n<h3 id=\"shag-3-instrument-avtomatizacii-sborki\">Korak 3: alat za automatizaciju izgradnje<\/h3>\n<p><\/p>\n<p>Sve ide kako treba. Mo\u017eete preuzimati kod i evidentirati promene u sistemu kontrole verzija, kao i pozvati prijatelje da rade s vama. Me\u0111utim, aplikacija jo\u0161 uvek nije tu. Da bi to bio veb-aplikacija, potrebno ju je kompajlirati i staviti u pakovanje za isporuku ili pokrenuti kao izvr\u0161ni fajl. (Interpretisani programski jezici, kao \u0161to su JavaScript ili PHP, ne trebaju kompajliranje.)<\/p>\n<p><\/p>\n<p>Primena alata za automatizaciju izgradnje. Bez obzira koji alat odaberete, on \u0107e sastaviti kod u potrebnom formatu i automatizovati \u010di\u0161\u0107enje, kompajliranje, testiranje i isporuku. Alati za izgradnju variraju u zavisnosti od jezika, ali obi\u010dno se koriste slede\u0107e opcije otvorenog koda.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/cc6e958a82ac0676429da6c48e66910f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Odli\u010dno! Sada \u0107emo u sistem kontrole verzija dodati konfiguracione fajlove alata za automatizaciju izgradnje, kako bi CI\/CD alat mogao da ih prikupi.<\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/bba539d128425e7e3ddacdc6028d3604.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Izgleda da je sve u redu. Ali gde da sve to sada postavite?<\/p>\n<p><\/p>\n<h3 id=\"shag-4-server-veb-prilozheniy\">Korak 4: server veb-aplikacija<\/h3>\n<p><\/p>\n<p>Torej, imete pakirano datoteko, ki jo je mogo\u010de izvajati ali distribuirati. Da bi aplikacija resni\u010dno koristila, mora imeti neko storitev ali vmesnik, vendar jo morate nekje postaviti.<\/p>\n<p><\/p>\n<p>Spletno aplikacijo lahko postavite na stre\u017enik spletnih aplikacij. Stre\u017enik aplikacij zagotavlja okolje, kjer lahko izvajate programsko logiko iz paketa, upravljate z izrisom vmesnika in odpirate spletne storitve prek soketov. Potrebujete HTTP stre\u017enik in nekaj drugih okolij (na primer virtualno napravo), da nastavite stre\u017enik aplikacij. Zaenkrat domnevamo, da se s tem ukvarjate med postopkom (\u010deprav bom o kontejnerjih govoril kasneje).<\/p>\n<p><\/p>\n<p>Obstaja nekaj odprtih stre\u017enikov spletnih aplikacij.<\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/7802afe041a9d56c20ddbe2885b5cf37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Skoraj imamo delujo\u010do DevOps verigo. Odli\u010dno delo!<\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/3d1e524b63fecebf4973cc34a40c160d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Na tem mestu se lahko ustavite, naprej se boste spoprijeli sami, vendar se spla\u010da \u0161e govoriti o kakovosti napisa.<\/p>\n<p><\/p>\n<h3 id=\"shag-5-testovoe-pokrytie\">Korak 5: Testna pokritost<\/h3>\n<p><\/p>\n<p>Testiranje zahteva veliko \u010dasa in truda, vendar je bolje, da takoj odkrijete napake in izbolj\u0161ate kodo, da razveselite kon\u010dne uporabnike. Za ta namen obstaja veliko odprtih orodij, ki ne le testirajo kodo, temve\u010d tudi ponujajo nasvete, kako jo izbolj\u0161ati. Ve\u010dina orodij CI\/CD se lahko pove\u017ee s temi orodji in avtomatizira proces.<\/p>\n<p><\/p>\n<p>Testiranje je razdeljeno na dva dela: okviri za testiranje za pisanje in izvajanje testov ter orodja s nasveti za izbolj\u0161anje kakovosti kode.<\/p>\n<p><\/p>\n<h3 id=\"freymvorki-testirovaniya\">Okviri za testiranje<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cu\/4l\/pn\/cu4lpnpdqa7yd9f5zwsxrrlbylg.png\"><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/c17426a30a4f140be87489d2c8b0d0b9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Orodja s nasveti za kakovost<\/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=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/bc65784b8bf5ccaaeef96a0c6ee4422e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Ve\u010dina teh orodij in okvirov je napisanih za Java, Python in JavaScript, ker sta C++ in C# proprietary (kljub temu, da je GCC odprtokodni).<\/p>\n<p><\/p>\n<p>Uporabljena orodja za testno pokritost in zdaj bi moral DevOps pipeline izgledati, kot je na sliki na za\u010detku priro\u010dnika.<\/p>\n<p><\/p>\n<h2 id=\"dopolnitelnye-shagi\">Dodatni koraki<\/h2>\n<p><\/p>\n<h3 id=\"konteynery\">Kontejnerji<\/h3>\n<p><\/p>\n<p>Kot sem \u017ee omenil, je stre\u017enik aplikacij mogo\u010de postaviti na virtualno napravo ali stre\u017enik, vendar so kontejnerji bolj priljubljeni.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers\">Kaj so kontejnerji<\/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>Za kontejnerje obi\u010dajno uporabljamo Docker in Kubernetes, \u010deprav obstajajo tudi druge mo\u017enosti.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/6n\/wc\/rc\/6nwcrcuhk9swwjxdddudr1cqpzc.png\"><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/8749b7044102ff7f23f2c970d6939246.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Preberite \u010dlanke o Dockerju in Kubernetesu na <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-docker\">Kaj je Docker?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/business\/15\/1\/introduction-docker\">Uvod v Docker<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-is-kubernetes\">Kaj je Kubernetes?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/17\/11\/kubernetes-lightning-talk\">Kubernetes od za\u010detka<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"instrumenty-avtomatizacii-promezhutochnogo-po\">Orodja za avtomatizacijo vmesnika<\/h3>\n<p><\/p>\n<p>Na\u0161a DevOps veriga je usmerjena na sodelovanje pri gradnji in dobavi aplikacij, vendar lahko z DevOps orodji po\u010dnete \u0161e veliko drugih zanimivih stvari. Na primer, uporabite orodja \u201einfrastruktura kot koda\u201c (IaC), ki jih imenujemo tudi orodja za avtomatizacijo vmesnega programske opreme. Ta orodja pomagajo avtomatizirati namestitev, upravljanje in druge naloge za vmesno programsko opremo. Na primer, orodje za avtomatizacijo lahko vzame aplikacije (stre\u017enik aplikacij, podatkovna baza, orodja za spremljanje) s pravimi konfiguracijami in jih razporedi na stre\u017enik aplikacij.<\/p>\n<p><\/p>\n<p>Tukaj je nekaj odprtokodnih orodij za avtomatizacijo vmesnega programske opreme:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Vodnik za za\u010detnike: ustvarjanje DevOps verig s pomo\u010djo orodij z odprtokodnim izvorom\" src=\"\/wp-content\/uploads\/2019\/05\/23bb3259f336a3f0ebf11ab4aa5471ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Podrobnosti v \u010dlankih na <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/quickstart-guide-ansible\">Vodnik za za\u010detek z Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/automating-deployment-strategies-ansible\">Strategije avtomatizacije namestitve z Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/12\/configuration-management-tools\">5 najbolj\u0161ih orodij za upravljanje konfiguracije<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"i-chto-teper\">In kaj zdaj?<\/h3>\n<p><\/p>\n<p>To je le vrh ledene gore. DevOps veriga lahko veliko ve\u010d. Za\u010dnite z orodjem CI\/CD in ugotovite, kaj \u0161e lahko avtomatizirate, da si olaj\u0161ate delo. Ne pozabite na <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/alternatives\/slack\">odprta komunikacijska orodja<\/a><\/noindex> za u\u010dinkovito sodelovanje.<\/p>\n<p><\/p>\n<p>Tukaj je \u0161e nekaj dobrih \u010dlankov o DevOps za za\u010detnike:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/devops\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/master-devops-engineer\">5 ve\u0161\u010din DevOps razvijalca<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/11\/how-non-engineer-got-devops\">DevOps za vse<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/getting-started-predictive-analytics-devops\">Uvod v napovedno analitiko v DevOps<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>In DevOps lahko integrirate z odprtokodnimi orodji za agilno metodologijo:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/10\/what-agile\">Kaj je agilno?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/steps-agile-developer\">4 koraki do obvladovanja agilne metodologije<\/a><\/noindex><\/li>\n<\/ul>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/451508\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 DevOps \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u043f\u0430\u043d\u0430\u0446\u0435\u0435\u0439 \u0434\u043b\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041d\u043e \u043d\u0443\u0436\u043d\u044b \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f \u0432 DevOps. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0446\u0435\u043f\u043e\u0447\u043a\u0430 DevOps \u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0435 \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u201c\u0440\u044b\u0431\u0430\u201d, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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\udd47Vodnik za za\u010detnike: ustvarjanje DevOps verig z odprtokodnimi orodji | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sl\/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":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/33504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=33504"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/33504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/25204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=33504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=33504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=33504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}