{"id":64290,"date":"2026-03-31T00:10:07","date_gmt":"2026-03-30T21:10:07","guid":{"rendered":"https:\/\/rss.eground-zerkalo.com\/?p=64290"},"modified":"2026-03-31T00:10:07","modified_gmt":"2026-03-30T21:10:07","slug":"gitlab-%d0%b2-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b5-stepik-%d0%b5%d0%b2%d0%b3%d0%b5%d0%bd%d0%b8%d0%b9-%d0%bb%d0%b8%d1%81%d1%82%d0%be%d0%bf%d0%b0%d0%b4%d0%be%d0%b2","status":"publish","type":"post","link":"https:\/\/rss.eground-zerkalo.com\/?p=64290","title":{"rendered":"Gitlab \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 [Stepik] [\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u043e\u0432]"},"content":{"rendered":"<h2 class=\"\">\u0421\u043a\u043b\u0430\u0434\u0447\u0438\u043d\u0430: Gitlab \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 [Stepik] [\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u043e\u0432]<\/h2>\n<p> \t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/v32.skladchik.org\/attachments\/bez-imeni-jpg.1246288\/\" class=\"bbCodeImage LbImage\" alt=\"\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438.jpg\" \/> \t\t  <\/p>\n<p> \u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b GitLab \u0434\u043b\u044f DevOps. \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f, \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0434\u043b\u044f Gitlab CI\/CD. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u0443\u0440\u0441\u0430 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u044b Git. \u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u0443\u0440\u0441\u0430 \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u043e\u0441\u0432\u043e\u0438\u0442\u0435\u0441\u044c \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 GitLab, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430 \u043d\u0430 YAML, \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0441 GitLab &#8212; CI\/CD pipeline. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u041f\u043b\u044e\u0441 \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u043a\u0443\u0440\u0441\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043c\u0438\u043d\u0438-\u043f\u0440\u043e\u0435\u043a\u0442\u044b.<\/p>\n<p> \u0427\u0435\u043c\u0443 \u0432\u044b \u043d\u0430\u0443\u0447\u0438\u0442\u0435\u0441\u044c <\/p>\n<ul>\n<li>\u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 GitLab.<\/li>\n<li>\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0432 GitLab.<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 GitLab.<\/li>\n<li>\u041e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b CI\/CD.<\/li>\n<li>\u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b GitLab \u0434\u043b\u044f DevOps.<\/li>\n<li>\u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u044b Git.<\/li>\n<li>\u041f\u043e\u0439\u043c\u0435\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u044b YAML.<\/li>\n<li>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u044b Markdown.<\/li>\n<li>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 GitLab Runners \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f CI\/CD pipeline.<\/li>\n<li>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443, \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e GitLab CI<\/li>\n<li>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c GitLab Runners.<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f GitLab CI\/CD (Pipelines, Jobs, Stages).<\/li>\n<\/ul>\n<p>\u041e \u043a\u0443\u0440\u0441\u0435<\/p>\n<p> \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043d\u0430  GitLab CE: Community Edition, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0443 \u0441\u0435\u0431\u044f \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432.                                                                       <\/p>\n<p> \u041a\u0443\u0440\u0441 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0442\u0440\u0435\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:<\/p>\n<ol>\n<li>\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u0430\u0435\u0442 \u0432\u0430\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 GitLab, \u043e\u0431\u0437\u043e\u0440 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f, \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. <\/li>\n<li>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u0443\u0440\u0441\u0430 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u044b Git. <\/li>\n<li>\u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u0443\u0440\u0441\u0430 \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u043e\u0441\u0432\u043e\u0438\u0442\u0435\u0441\u044c \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 GitLab, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430 \u043d\u0430 YAML. \u0414\u0430\u043b\u0435\u0435 \u0438\u0437\u0443\u0447\u0438\u043c \u043d\u0430 \u0441\u043a\u0432\u043e\u0437\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 GitLab \u0434\u043b\u044f CI\/CD pipeline \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. (\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u0430)<\/li>\n<\/ol>\n<p>\u0414\u043b\u044f \u043a\u043e\u0433\u043e \u044d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441<\/p>\n<p> \u0414\u043b\u044f \u0432\u0441\u0435\u0445 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 GitLab. \u0425\u043e\u0442\u0438\u0442\u0435 \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c CI\/CD pipeline \u0432 GitLab.<\/p>\n<p> \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<p> \u041f\u0435\u0440\u0435\u0434 \u043f\u043e\u043a\u0443\u043f\u043a\u043e\u0439 \u043a\u0443\u0440\u0441\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0439\u0442\u0438 \u0443\u0440\u043e\u043a \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 <\/p>\n<p> 1.1 GitLab: \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u041f\u041e &#8212; \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u043a\u0430 \u0432\u044b \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u0442\u0435 \u0432 docker \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 GitLab \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<ul>\n<li>\u041e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u041f\u041a<\/li>\n<li>\u0417\u043d\u0430\u0435\u0442\u0435 \u043a\u0430\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 Mac\/Linux\/Windows.<\/li>\n<li>\u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u043e\u0431\u0449\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e Docker.<\/li>\n<li>\u041f\u0440\u0430\u0432\u0430 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\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 \u043d\u0430 \u041f\u041a.<\/li>\n<li>\u0414\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u041f\u041a \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0435\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, <\/li>\n<li>\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043c\u0435\u0442\u044c 8\u0433\u0431 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438,<\/li>\n<li>32\u0433\u0431 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u043c \u0434\u0438\u0441\u043a\u0435<\/li>\n<li>\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f\u0434\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/li>\n<\/ul>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 GitLab \u0431\u0443\u0434\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0432 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043e\u043d \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442 4.5 \u0413\u0431 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u043b\u044e\u0441 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f runner (\u0432 \u0438\u0442\u043e\u0433\u0435 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f 6 \u0413\u0431, \u043f\u043b\u044e\u0441 2 \u0413\u0431 \u0433\u0434\u0435 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u041e\u0421, \u0443\u0447\u0442\u0438\u0442\u0435 \u044d\u0442\u043e)<\/p>\n<p> \u041a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435<\/p>\n<p> \u041a\u0443\u0440\u0441 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0432\u0430\u043c \u0442\u0435\u043c\u043f\u0435. \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0432\u0438\u0434\u0435\u043e \u043b\u0435\u043a\u0446\u0438\u0438, \u0443\u043f\u043e\u0440 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0435\u0441\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b. \u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432.<\/p>\n<p> \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043a\u0443\u0440\u0441\u0430:<\/p>\n<p> Gitlab: \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 <\/p>\n<ol>\n<li> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 docker, \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u043c GitLab \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435<br \/> \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430: \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430<br \/> \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430: \u043e\u0441\u043d\u043e\u0432\u044b docker<\/li>\n<\/ol>\n<p>Gitlab: \u043d\u0430\u0447\u0430\u043b\u043e <\/p>\n<ol>\n<li> Gitlab: \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<br \/> GitLab: \u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<br \/> GitLab: User types(access level) &amp; Roles<br \/> GitLab: \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438<br \/> \u041b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430: \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 GitLab<br \/> GitLab: \u0422\u0438\u043f\u044b \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432 \u0438\u043c\u0435\u043d<br \/> GitLab: \u0412\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u044b<br \/> GitLab: \u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 &amp; \u0433\u0440\u0443\u043f\u043f<br \/> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438<br \/> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438<br \/> GitLab: \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Labels<br \/> GitLab: \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Issues<br \/> GitLab: \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Incidents<br \/> GitLab: \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Tasks<br \/> GitLab:\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Boards &amp; Milestones<br \/> GitLab: \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Wiki &amp; Markdown<\/li>\n<\/ol>\n<p>Git &amp; Gitlab <\/p>\n<ol>\n<li> \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b VCS. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Git?<br \/> \u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Git<br \/> \u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d Git<br \/> \u0421\u0442\u0430\u0442\u0443\u0441\u044b \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 Git<br \/> \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0445\u044d\u0448, \u043a\u043e\u043c\u043c\u0438\u0442, \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, HEAD<br \/> \u041f\u0440\u0438\u043c\u0435\u0440 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 GIT (Windows, Linux)<br \/> \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u0435\u043d .gitignore<br \/> \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u043a\u043e\u043c\u043c\u0438\u0442\u0443<br \/> Git: \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e &#8212; \u0447\u0430\u0441\u0442\u0438 1<br \/> \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 Git \u043d\u0430\u0447\u0430\u043b\u043e<br \/> \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 Git \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432<br \/> \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 Git \u043e\u0442\u043a\u0430\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<br \/> \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 Git \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435<br \/> Git: \u0422\u0435\u0433\u0438<br \/> Git: \u0412\u0435\u0442\u043a\u0438<br \/> Git &amp; Gitlab: \u0423\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<br \/> GitLab: \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 SSH-key<br \/> Git &amp; Gitlab: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c \u043a\u043e\u0434\u0430 &#8212; \u0447\u0430\u0441\u0442\u044c 3<\/li>\n<\/ol>\n<p>Gitlab: CI\/CD <\/p>\n<ol>\n<li> GitLab: \u0418\u0437\u0443\u0447\u0430\u0435\u043c YAML<br \/> GitLab: \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 GitLab Runner<br \/> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f Gitlab Runners<br \/> GitLab: \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 pipeline<br \/> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0432\u043e\u0433\u043e pipeline<br \/> GitLab: Pipeline \u043e\u0441\u043d\u043e\u0432\u044b (stages, script, artifacts, needs)<br \/> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0441\u0442\u0430\u0434\u0438\u0438, \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b<br \/> GitLab: Pipeline \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 (variables)<br \/> GitLab: \u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 pipeline<br \/> GitLab: Pipeline (rules, when, environment, image, dependencies)<br \/> GitLab: \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0435<\/li>\n<\/ol>\n<p>Gitlab: \u043c\u0438\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b CI\/CD \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 <\/p>\n<ol>\n<li> GitLab: Pipeline Example 1 &#8212; C lang (Package Registry)<br \/> GitLab: Pipeline Example 2 &#8212; Java &amp; Maven<br \/> GitLab: \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c Container Registry.<br \/> GitLab: Pipeline Example 3 &#8212; Python (Container Registry)<br \/> \u0424\u0438\u043d\u0438\u0448<\/li>\n<\/ol>\n<p>\u0427\u0442\u043e \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 <\/p>\n<ul>\n<li>\u041f\u043e\u0439\u043c\u0435\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b GitLab CE<\/li>\n<li>\u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u043a\u0443\u0440\u0441\u0430 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u044b \u0441\u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 GitLab CE<\/li>\n<li>\u0421\u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 GitLab \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 CI\/CD.<\/li>\n<li>\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.<\/li>\n<\/ul>\n<p>\u0426\u0435\u043d\u0430: 2000 \u0440\u0443\u0431.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0421\u043a\u043b\u0430\u0434\u0447\u0438\u043d\u0430: Gitlab \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 [Stepik] [\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u043e\u0432] \u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b GitLab \u0434\u043b\u044f DevOps. \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f, \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0434\u043b\u044f Gitlab CI\/CD. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u0443\u0440\u0441\u0430 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u044b Git. \u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u0443\u0440\u0441\u0430 \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u043e\u0441\u0432\u043e\u0438\u0442\u0435\u0441\u044c \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 GitLab, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-64290","post","type-post","status-publish","format-standard","hentry","category-rss"],"_links":{"self":[{"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=\/wp\/v2\/posts\/64290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=64290"}],"version-history":[{"count":0,"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=\/wp\/v2\/posts\/64290\/revisions"}],"wp:attachment":[{"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=64290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=64290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rss.eground-zerkalo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=64290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}