{"id":77783,"date":"2020-04-14T01:42:28","date_gmt":"2020-04-13T23:42:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack"},"modified":"2020-04-14T01:42:28","modified_gmt":"2020-04-13T23:42:28","slug":"metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack","title":{"rendered":"Projektide juurutamise meetod, mida kasutatakse Slackis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Uue projekti versiooni k\u00e4ivitamine n\u00f5uab hoolikat tasakaalu leidmist juurutamise kiirus ning lahenduse usaldusv\u00e4\u00e4rsuse vahel. Slackis hinnatakse kiireid iteratsioone, l\u00fchikesi tagasiside ts\u00fckleid ja kiiret reageerimist kasutajate p\u00e4ringutele. Lisaks sellele on ettev\u00f5ttes sadu programmeerijaid, kes p\u00fc\u00fcdlevad maksimaalse tootlikkuse poole.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/496838\/\"><img decoding=\"async\" alt=\"Projektide juurutamise meetod, mida kasutatakse Slackis\" src=\"\/wp-content\/uploads\/2020\/04\/a3d3cec330e9b9bd402035c22bda48ff.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Kunstnikud, kelle materjali t\u00f5lget t\u00e4na avaldame, \u00fctlevad, et ettev\u00f5te, kes p\u00fc\u00fcab j\u00e4rgida selliseid v\u00e4\u00e4rtusi ja samal ajal kasvada, peab pidevalt t\u00e4iustama oma projekti juurutamise s\u00fcsteemi. Ettev\u00f5ttel tuleb p\u00fchendada j\u00f5ud protsesside l\u00e4bipaistvusele ja usaldusv\u00e4\u00e4rsusele, et vastata projekti ulatusele. Siin k\u00e4sitleme Slackis v\u00e4lja kujunenud t\u00f6\u00f6protsesse ja m\u00f5ningaid lahendusi, mis viisid ettev\u00f5tte sellise t\u00e4nap\u00e4evase projekti juurutamise s\u00fcsteemi kasutamise juurde.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kuidas projektide juurutamise protsessid t\u00e4nap\u00e4eval toimivad<\/h2>\n<p>\nIga PR (pull request) Slackis peab olema kindlasti l\u00e4binud koodivaatluse ja edukalt l\u00e4binud k\u00f5ik testid. Alles p\u00e4rast nende tingimuste t\u00e4itmist v\u00f5ib arendaja oma koodi \u00fchendada projekti master-haru. Siiski, sellise koodi juurutamine toimub vaid t\u00f6\u00f6aegadel p\u00f5hjaameerika ajav\u00f6\u00f6ndis. Seet\u00f5ttu oleme, kuna meie t\u00f6\u00f6tajad on t\u00f6\u00f6kohtadel, t\u00e4ielikult valmis lahendama ootamatuid probleeme.<\/p>\n<p>Igal p\u00e4eval teeme umbes 12 planeeritud juurutust. Iga juurutamise k\u00e4igus vastutab juurutamise juhtiv arendaja uue versiooni toimetamise eest tootmisse. See on mitmeastmeline protsess, mis tagab sujuva versiooni viimise t\u00f6\u00f6re\u017eiimi. T\u00e4nu sellele l\u00e4henemisele saame avastada vigu enne, kui need m\u00f5jutavad k\u00f5iki meie kasutajaid. Kui vigu on liiga palju, v\u00f5ib versiooni juurutamise tagasi v\u00f5tta. Kui aga m\u00f5ni konkreetne probleem tuvastatakse p\u00e4rast v\u00e4ljalaskmist, on lihtne sellele parandust v\u00e4lja anda.<\/p>\n<p><img decoding=\"async\" alt=\"Projektide juurutamise meetod, mida kasutatakse Slackis\" src=\"\/wp-content\/uploads\/2020\/04\/e05d8ecf210832734a7bb691621a1f96.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Slackis kasutatav Checkpoint s\u00fcsteemi liides projektide juurutamiseks<\/i><\/p>\n<p>Uue v\u00e4ljaande juurutamise protsessi v\u00f5ib jagada neljaks sammuks.<\/p>\n<h3>\u258d1. V\u00e4ljaande haru loomine<\/h3>\n<p>\nIga v\u00e4ljaanne algab uue haru loomisega, mis toimub meie Git-i ajaloos. See v\u00f5imaldab v\u00e4ljaandele silte m\u00e4\u00e4rata ja loob koha, kuhu saab teha kiireid parandusi, kui ilmnevad vead, mis leiti v\u00e4ljaande tootmisse viimise ettevalmistamisel.<\/p>\n<h3>\u258d2. Juurutamine vahekeskkonnas<\/h3>\n<p>\nT\u00f6\u00f6 j\u00e4rgmine samm on versiooni juurutamine vahe (staging) serveritesse ja automaatse testimise k\u00e4ivitamine projekti \u00fcldise toimivuse (smoke test) kontrollimiseks. Vahekeskkond on tootmiskeskkond, kuhu v\u00e4line liiklus ei p\u00e4\u00e4se. Selles keskkonnas teeme t\u00e4iendavat k\u00e4sitsi testimist. See annab meile t\u00e4iendava kindlustunde, et muudetud projekt t\u00f6\u00f6tab \u00f5igesti. Ainu\u00fcksi automatiseeritud testidest ei piisa, et sellist kindlustunnet saavutada.<\/p>\n<h3>\u258d3. Juurutamine dogfood- ja canary- keskkondades<\/h3>\n<p>\nTootmise tootmisringis algab dogfood-keskkonna loomisega, mille esinduseks on hulk hoste, mis haldavad meie sisemisi Slack-t\u00f6\u00f6ruume. Kuna oleme Slacki aktiivsed kasutajad, aitas selline l\u00e4henemine tuvastada palju vigu varases tootmisfaasis. P\u00e4rast seda, kui oleme veendunud, et s\u00fcsteemi p\u00f5hifunktsionaalsus ei ole h\u00e4iritud, toimub versiooni juurutamine canary-keskkonnas. See koosneb s\u00fcsteemidest, mis saavad umbes 2% tootmist liiklusest.<\/p>\n<h3>\u258d4. Aeglane juurutamine tootmisse<\/h3>\n<p>\nKui uue v\u00e4ljaande j\u00e4lgimise n\u00e4itajad on stabiilsed ning p\u00e4rast projekti juurutamist canary-keskkonnas ei ole me saanud kaebusi, j\u00e4tkame tootmisserverite \u00fcleminekut uuele v\u00e4ljaandele j\u00e4rk-j\u00e4rgult. Juurutamisprotsess jaguneb j\u00e4rgmistesse etappidesse: 10%, 25%, 50%, 75% ja 100%. Sel viisil saame aeglaselt suunata tootmisliiklust uuele s\u00fcsteemi v\u00e4ljaandele. Samuti on meil aega olukorra uurimiseks, kui tuvastame mingeid anomaaliaid.<\/p>\n<h3>\u258dMida teha, kui juurutamise k\u00e4igus midagi l\u00e4ks valesti?<\/h3>\n<p>\nKoodi muutmine on alati risk. Aga me saame sellega hakkama t\u00e4nu meie h\u00e4sti ettevalmistatud \u201ejuhtidele juurutamises\u201c, kes juhivad uue versiooni tootmisse toomise protsessi, j\u00e4lgivad j\u00e4lgimisn\u00e4itajaid ja koordineerivad arendajate t\u00f6\u00f6d, kes koodi v\u00e4ljastavad.<\/p>\n<p>Kui midagi t\u00f5esti l\u00e4heb valesti, p\u00fc\u00fcame probleemi avastada nii varakult kui v\u00f5imalik. Uurime probleemi, leiame PR-i, mis vigu tekitab, tagandame selle, anal\u00fc\u00fcsime hoolikalt ja loome uue versiooni. T\u00f5ele au andes, m\u00f5nikord j\u00e4\u00e4b probleem m\u00e4rkamatuks kuni projekti tootmisse viimiseni. Sellises olukorras on k\u00f5ige olulisem taastada teenuse t\u00f6\u00f6. Seet\u00f5ttu tagandame enne probleemi uurimist kohe eelmise t\u00f6\u00f6versiooni.<\/p>\n<h2>Juurutamiss\u00fcsteemi ehitusplokid<\/h2>\n<p>\nVaatame tehnoloogiaid, mis on meie projektide juurutamiss\u00fcsteemi aluseks.<\/p>\n<h3>\u258dKiired juurutamised<\/h3>\n<p>\n\u00dclaltoodud t\u00f6\u00f6protsess v\u00f5ib tagantj\u00e4rele tunduda t\u00e4iesti ilmne. Kuid meie juurutamiss\u00fcsteem ei saanud selliseks kaugeltki kohe.<\/p>\n<p>Kui ettev\u00f5te oli oluliselt v\u00e4iksem, sai meie rakendus t\u00f6\u00f6tada 10 Amazon EC2 instantsil. Projekti k\u00e4ivitamine sellises olukorras t\u00e4hendas rsynci kasutamist, et kiiresti s\u00fcnkroonida k\u00f5iki servereid. Varem eraldas uue koodi tootmisest ainult \u00fcks samm, mida esindas vahekeskkond. Kogumikud loodi ja kontrolliti sellises keskkonnas ning seej\u00e4rel suundusid need otse tootmisse. Sellises s\u00fcsteemis orienteerumine oli v\u00e4ga lihtne, see v\u00f5imaldas igal programmeerijal igal ajal k\u00e4ivitada kirjutatud koodi.<\/p>\n<p>Kuid kliendibaasi kasvades suurenes ka infrastruktuuri ulatus, mis oli vajalik projekti toimimiseks. Varsti, arvestades s\u00fcsteemi pidevat kasvu, ei suutnud meie uue koodi serveritesse toimetamisele tuginev disain oma \u00fclesandeid enam t\u00e4ita. Nimelt t\u00e4hendas iga uue serveri lisamine, et suurenes ajakulu, mis oli vajalik k\u00e4ivitamiseks. Ieven paralleelsetel rsynci rakendamisel p\u00f5hinevates strateegiates on teatud piirangud.<\/p>\n<p>Kokkuv\u00f5ttes lahendasime selle probleemi, minnes \u00fcle t\u00e4iesti paralleelsele juurutuss\u00fcsteemile, mis ei olnud \u00fcles seatud nagu vana s\u00fcsteem. Nimelt, n\u00fc\u00fcd ei saatnud me koodi serveritesse, kasutades s\u00fcnkroonimisskripti. Iga server laadis ise uue kogumi alla, teades, et see tuleb teha, j\u00e4lgides Consul'i v\u00f5tme muutust. Serverid laadisid koodi paralleelselt. See v\u00f5imaldas meil hoida k\u00f5rget juurutamiskiirus, isegi pideva s\u00fcsteemi kasvu tingimustes.<\/p>\n<p><img decoding=\"async\" alt=\"Projektide juurutamise meetod, mida kasutatakse Slackis\" src=\"\/wp-content\/uploads\/2020\/04\/baf52b60024eb9881e8a31fbf0da08bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>1. Tootmisserverid j\u00e4lgivad Consul'i v\u00f5tit. 2. V\u00f5ti muutub, mis annab serveritele teada, et nad peavad alustama uue koodi laadimist. 3. Serverid laadivad alla tarball-failid rakenduskoodiga.<\/i><\/p>\n<h3>\u258dAtoomilised juurutamised<\/h3>\n<p>\nVeel \u00fche lahendusena, mis aitas meil minna \u00fcle tasemel juurutuss\u00fcsteemile, sai atoombne juurutamine.<\/p>\n<p>Enne aatomaarsete juurutuste kasutuselev\u00f5ttu v\u00f5is iga juurutamine p\u00f5hjustada suure hulga vigade teateid. Asi on selles, et uute failide kopeerimise protsess tootmisserveritesse ei olnud aatomaarne. See t\u00f5i kaasa l\u00fchikese ajavahemiku, mille jooksul kood, mis kutsus esile uusi funktsioone, oli saadaval enne, kui need funktsioonid endid olid k\u00e4ttesaadavad. Kui sellist koodi kutsuti, p\u00f5hjustas see sisemisi vigu. See avaldus API-p\u00e4ringute eba\u00f5nnestumises ja \u201erikutud\u201d veebilehtedes.<\/p>\n<p>Probleemiga tegelenud meeskond lahendas selle, tuues sisse m\u00f5isted \u201ekuumad\u201d (hot) ja \u201ek\u00fclmad\u201d (cold) kataloogid. \u201eKuumas\u201d kataloogis olev kood vastutab tootmistrafiku t\u00f6\u00f6tlemise eest. K\u00fclmades kataloogides valmistatakse kood s\u00fcsteemi t\u00f6\u00f6tamise ajal lihtsalt kasutamiseks ette. Juurutamise k\u00e4igus kopeeritakse uus kood kasutamata \u201ek\u00fclma\u201d katalooge. Seej\u00e4rel viiakse, kui serveris ei ole aktiivseid protsesse, l\u00e4bi kohene kataloogide vahetus.<\/p>\n<p><img decoding=\"async\" alt=\"Projektide juurutamise meetod, mida kasutatakse Slackis\" src=\"\/wp-content\/uploads\/2020\/04\/05ab374f047e53e408f3e75ad3a73d68.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>1. Rakenduse koodi pakkimine \u201ek\u00fclma\u201c direktori. 2. S\u00fcsteemi \u00fcleviimine \u201ek\u00fclma\u201c direktorisse, mis muutub \u201ekuumaks\u201c (aatomaarne operatsioon)<\/i><\/p>\n<h2>Kokkuv\u00f5tted: r\u00f5hu nihkumine usaldusv\u00e4\u00e4rsusele<\/h2>\n<p>\nAastal 2018 kasvas projekt sellistele m\u00f5\u00f5tmetele, et v\u00e4ga kiire juurutamine hakkas kahjustama toote stabiilsust. Meil oli \u00fcsna arenenud juurutuss\u00fcsteem, millesse olime investeerinud palju aega ja j\u00f5udu. Me pidime vaid \u00fcmber korraldama ja t\u00e4iustama juurutamise protsesse. Meist sai piisavalt suur ettev\u00f5te, mille arendusi kasutati \u00fcle kogu maailma, et tagada katkestusteta side ja lahendada olulisi \u00fclesandeid. Seet\u00f5ttu sai usaldusv\u00e4\u00e4rsus keskseks t\u00e4helepanu all olevaks teemaks.<\/p>\n<p>Meil oli vaja muuta Slacki uute versioonide juurutamisprotsessi turvalisemaks. See vajadus viis meid meie juurutamiss\u00fcsteemi t\u00e4iustamiseni. Tegelikult arutasime just seda t\u00e4iustatud s\u00fcsteemi. S\u00fcsteemi sisemuses j\u00e4tkame kiire ja atomaarse juurutamise tehnoloogiate kasutamist. On muutunud see, kuidas t\u00e4pselt juurutamine toimub. Meie uus s\u00fcsteem on loodud uue koodi j\u00e4rkj\u00e4rguliseks juurutamiseks erinevates etappides ja keskkondades. N\u00fc\u00fcd kasutame arenenumaid abivahendeid ja s\u00fcsteemi j\u00e4lgimise vahendeid kui kunagi varem. See annab meile v\u00f5imaluse tuvastada ja k\u00f5rvaldada t\u00f5rkeid palju enne, kui need saavad v\u00f5imaluse j\u00f5uda l\u00f5ppkasutajani.<\/p>\n<p>Kuid me ei kavatse peatuda saavutatu peal. Me pidevalt t\u00e4iustame seda s\u00fcsteemi, rakendades arenenumaid abivahendeid ja t\u00f6\u00f6 automatiseerimise vahendeid.<\/p>\n<p><b>Lugupidamisega lugejad!<\/b> Kuidas on korraldatud uute versioonide juurutamisprotsess seal, kus teie t\u00f6\u00f6tate?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Projektide juurutamise meetod, mida kasutatakse Slackis\" src=\"\/wp-content\/uploads\/2020\/04\/1aeb4af5770ce139b651be62e955f130.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/496838\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u044b\u0432\u043e\u0434 \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Slack \u0446\u0435\u043d\u044f\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0446\u0438\u043a\u043b\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438, \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0440\u0435\u0430\u043a\u0446\u0438\u044e \u043d\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u043e\u0442\u043d\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0410\u0432\u0442\u043e\u0440\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c, \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":77784,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-77783","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=\"\u0412\u044b\u0432\u043e\u0434 \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Slack \u0446\u0435\u043d\u044f\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0446\u0438\u043a\u043b\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438, \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0440\u0435\u0430\u043a\u0446\u0438\u044e \u043d\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u043e\u0442\u043d\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0410\u0432\u0442\u043e\u0440\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c, \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f\" \/>\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\/metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack\" \/>\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\u041c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0432 Slack | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u044b\u0432\u043e\u0434 \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Slack \u0446\u0435\u043d\u044f\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0446\u0438\u043a\u043b\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438, \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0440\u0435\u0430\u043a\u0446\u0438\u044e \u043d\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u043e\u0442\u043d\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0410\u0432\u0442\u043e\u0440\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c, \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack\" \/>\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-04-13T23:42:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-13T23:42:28+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\udd47Projektide juurutamismeetod, mida rakendatakse Slackis | ProHoster","description":"Uue projekti versiooni juurutamine tootmisse n\u00f5uab hoolikat tasakaalu saavutamist juurutamise kiirusest ja lahenduse usaldusv\u00e4\u00e4rsusest. Slackis hindavad kiireid iteratsioone, l\u00fchikesi tagasiside ts\u00fckleid ja kiiret reageerimist kasutajate p\u00f6\u00f6rdumistele. Lisaks on ettev\u00f5ttes sadu programmeerijaid, kes p\u00fc\u00fcavad saavutada maksimaalset tootlikkust. Artikli autorid, mille t\u00f5lget t\u00e4na avaldame, r\u00e4\u00e4givad, et ettev\u00f5te, kes","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack","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\u041c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0432 Slack | ProHoster","og:description":"\u0412\u044b\u0432\u043e\u0434 \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Slack \u0446\u0435\u043d\u044f\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0446\u0438\u043a\u043b\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438, \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0440\u0435\u0430\u043a\u0446\u0438\u044e \u043d\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u043e\u0442\u043d\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0440\u0435\u043c\u044f\u0442\u0441\u044f \u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0410\u0432\u0442\u043e\u0440\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c, \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/metodika-razvyortyvaniya-proektov-primenyaemaya-v-slack","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-04-13T23:42:28+00:00","article:modified_time":"2020-04-13T23:42:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"77783","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 17:11:30","updated":"2022-09-28 09:37:25"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/77783","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=77783"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/77783\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/77784"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=77783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=77783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=77783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}