{"id":328155,"date":"2022-01-17T21:00:32","date_gmt":"2022-01-17T21:00:32","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=328155"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=328155","title":{"rendered":"<span>\u0412\u044b\u0448\u0435\u043b \u0440\u0435\u043b\u0438\u0437 GitLab 14.6 \u0441 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 Geo \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 .NET 6 \u0432 SAST<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/c96\/4f0\/d77\/c964f0d7737a13e307e4a47069d14953.jpg\" alt=\"\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c96\/4f0\/d77\/c964f0d7737a13e307e4a47069d14953.jpg\" data-blurred=\"true\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0440\u0430\u0434\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043e \u0432\u044b\u0445\u043e\u0434\u0435 \u0440\u0435\u043b\u0438\u0437\u0430 GitLab 14.6, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 2021-\u0433\u043e \u0433\u043e\u0434\u0430. \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c: <a href=\"#bespereboynaya-rabota-po-vsemu-miru-s-geo\">\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Geo<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 git clone \u0438\u043b\u0438 git pull \u0437\u0430 \u0441\u0447\u0451\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u043a \u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430; <a href=\"#zapis-deystviy-agenta-gitlab-dlya-kubernetes\">\u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430 GitLab<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0430\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u043a\u0430\u043a \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u043a\u0435\u043d\u0430; \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f SAST, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <a href=\"#pravila-vypolneniya-skanirovaniy-sast\">\u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f SAST-\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439<\/a> \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <a href=\"#podderzhka-sast-dlya-net-6\">.NET 6<\/a>.<\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p>\u042d\u0442\u043e \u2014 \u043b\u0438\u0448\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 30 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430. \u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0434\u0430\u043b\u0435\u0435, \u0438 \u0432\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435 \u0432\u0441\u0451 \u043e\u0431 \u044d\u0442\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445. \u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u0432\u044b\u0439\u0434\u0435\u0442 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435, \u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 <a href=\"https:\/\/about.gitlab.com\/direction\/kickoff\/\" rel=\"nofollow noopener noreferrer\">\u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432<\/a> \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u0438\u0434\u0435\u043e \u043f\u043e \u0440\u0435\u043b\u0438\u0437\u0443 14.7.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/about.gitlab.com\/events\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u043d\u0430 \u043d\u0430\u0448\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0438<\/a>.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"GitLab MVP badge\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1f4\/2b7\/125\/1f42b7125b8e58f40d41c3350cac3ffa.png\"\/><\/p>\n<p>  <\/p>\n<h2 id=\"mvphttpsaboutgitlabcomcommunitymvp-etogo-mesyaca--kevhttpsgitlabcomkevslashnull\"><a href=\"https:\/\/about.gitlab.com\/community\/mvp\/\" rel=\"nofollow noopener noreferrer\">MVP<\/a> \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0441\u044f\u0446\u0430 \u2014 <a href=\"https:\/\/gitlab.com\/KevSlashNull\" rel=\"nofollow noopener noreferrer\">Kev<\/a><\/h2>\n<p>  <\/p>\n<p>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Kev \u0432 \u0440\u0435\u043b\u0438\u0437\u0435 14.6 \u0431\u044b\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/merge_requests?scope=all&amp;state=merged&amp;author_username=kevslashnull&amp;milestone_title=14.6&amp;label_name%5B%5D=UX\" rel=\"nofollow noopener noreferrer\">\u0441 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e\u043c<\/a> (UX) GitLab. \u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043b\u0438\u0441\u044c \u043a \u0441\u0442\u0430\u0434\u0438\u0438 Verify, \u043d\u043e \u0431\u044b\u043b\u0438 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0442\u0430\u0434\u0438\u0439 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/merge_requests\/75870\" rel=\"nofollow noopener noreferrer\">Geo<\/a>, <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/merge_requests\/75928\" rel=\"nofollow noopener noreferrer\">Release<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab-vscode-extension\/-\/merge_requests\/416\" rel=\"nofollow noopener noreferrer\">Create<\/a><\/p>\n<p>  <\/p>\n<p>Kev \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0438 GitLab: \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0440\u0435\u043b\u0438\u0437\u0430 13.1 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 240 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u0432. \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u044d\u0442\u0443 \u0440\u0430\u0431\u043e\u0442\u0443, Kev! ?<\/p>\n<p>  <\/p>\n<h2 id=\"osnovnye-fichi-reliza-gitlab-146\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0438\u0447\u0438 \u0440\u0435\u043b\u0438\u0437\u0430 GitLab 14.6<\/h2>\n<p>  <\/p>\n<h3 id=\"bespereboynaya-rabota-po-vsemu-miru-s-geo\">\u0411\u0435\u0441\u043f\u0435\u0440\u0435\u0431\u043e\u0439\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443 \u0441 Geo<\/h3>\n<p>  <\/p>\n<p>(self-managed: PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/handbook\/engineering\/development\/enablement\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c<\/a><\/p>\n<p>  <\/p>\n<p>\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Geo \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443. \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 GitLab 14.6 \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c <a href=\"https:\/\/docs.gitlab.com\/ee\/administration\/geo\/replication\/location_aware_git_url.html\" rel=\"nofollow noopener noreferrer\">Geo \u0441 \u0435\u0434\u0438\u043d\u044b\u043c \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c URL \u0434\u043b\u044f \u0432\u0441\u0435\u0445 Git-\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439<\/a>. \u041e\u0434\u043d\u0430\u043a\u043e \u0440\u0435\u043f\u043b\u0438\u043a\u0438 Geo \u0438\u043c\u0435\u043b\u0438 \u0441\u0432\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 URL \u0434\u043b\u044f \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a API, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u0437\u043d\u0430\u0442\u044c URL \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0440\u0435\u043f\u043b\u0438\u043a Geo, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0445\u043e\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0440\u0435\u043f\u043b\u0438\u043a Geo \u0442\u0430\u043a\u0436\u0435 \u0431\u044b\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f: \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435.<\/p>\n<p>  <\/p>\n<p>\u0412 GitLab 14.6 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435 \u0441\u0430\u0439\u0442\u044b Geo \u044f\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u044e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u0430\u0439\u0442, \u0443\u0441\u043a\u043e\u0440\u044f\u044f \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c GitLab \u0432 \u0441\u0432\u043e\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0434\u0438\u043d\u044b\u0439 URL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c\u0443 \u043a \u043d\u0438\u043c \u0441\u0430\u0439\u0442\u0443 Geo. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430\u043c\u0438 Geo, \u0438\u043b\u0438 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0441\u0430\u0439\u0442\u0430\u0445 Geo. \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0446\u0435\u043d\u044f\u0442 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043e\u043c\u0430\u043d\u0434 <code>git clone<\/code> \u0438 <code>git pull<\/code> \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u0435\u0441\u043f\u0435\u0440\u0435\u0431\u043e\u0439\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443.<\/p>\n<p>  <\/p>\n<p>\u0412\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 URL \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a Geo. \u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 <a href=\"https:\/\/docs.gitlab.com\/ee\/administration\/geo\/secondary_proxy\/index.html#set-up-a-unified-url-for-geo-sites\" rel=\"nofollow noopener noreferrer\">\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 URL<\/a> \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Geo \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0451 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Seamless worldwide performance with Geo\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a56\/0e9\/d5a\/a560e9d5a55ad55cf403bda2af08962c.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/administration\/geo\/secondary_proxy\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Geo<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/1466\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"zapis-deystviy-agenta-gitlab-dlya-kubernetes\">\u0417\u0430\u043f\u0438\u0441\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430 GitLab \u0434\u043b\u044f Kubernetes<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/configure\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Configure<\/a><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0432 \u0432\u0430\u0448\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432\u0430\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<p>GitLab \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430 GitLab \u0434\u043b\u044f Kubernetes. \u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0432 \u044d\u0442\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u043a\u0435\u043d\u0430, \u0430 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0440\u0435\u043b\u0438\u0437\u0430\u0445 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/340484\" rel=\"nofollow noopener noreferrer\">\u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0442\u0443\u043d\u043d\u0435\u043b\u044f CI\/CD<\/a>, \u0442\u0430\u043a \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0434\u044b \u0432\u0430\u0448\u0438\u043c \u043e\u0442\u0437\u044b\u0432\u0430\u043c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"GitLab Agent's activity information\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5e5\/058\/e2f\/5e5058e2f378ab1ed2542f6be4183b0e.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/clusters\/agent\/install\/#view-agent-activity-information\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430 GitLab \u0434\u043b\u044f Kubernetes<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/340363\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"udobnoe-pereklyuchenie-redaktorov-viki\">\u0423\u0434\u043e\u0431\u043d\u043e\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0432\u0438\u043a\u0438<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/create\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Create<\/a><\/p>\n<p>  <\/p>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u043a\u0438-\u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 Markdown \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c Markdown. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 Markdown, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 WYSIWYG \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0438\u043b\u0438 \u0442\u0440\u0443\u0434\u043e\u0451\u043c\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446.<\/p>\n<p>  <\/p>\n<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 GitLab \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0436\u0434\u0443 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c Markdown-\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0432 Markdown, \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0448\u0430\u0433\u0438 \u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0431\u0435\u0441\u043f\u0440\u0435\u043f\u044f\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0430\u0448\u0438\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044f\u043c \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442.<\/p>\n<p>  <\/p>\n<div class=\"oembed\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/61deaedf1370783b8bf93246\" data-style=\"\" id=\"61deaedf1370783b8bf93246\" width=\"\"><\/div>\n<\/div>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/wiki\/#content-editor\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443 \u0432\u0438\u043a\u0438<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/342729\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h2 id=\"drugie-uluchsheniya-v-gitlab-146\">\u0414\u0440\u0443\u0433\u0438\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 GitLab 14.6<\/h2>\n<p>  <\/p>\n<h3 id=\"otobrazhenie-privatnyh-vkladov-na-kalendare-vkladov\">\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u0432\u043a\u043b\u0430\u0434\u043e\u0432 \u043d\u0430 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435 \u0432\u043a\u043b\u0430\u0434\u043e\u0432<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/manage\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Manage<\/a><\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043c\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438 \u0442\u043e, \u043a\u0430\u043a \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0432\u043a\u043b\u0430\u0434\u043e\u0432 \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u044b \u0440\u0430\u043d\u0435\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0432\u043a\u043b\u0430\u0434\u043e\u0432, \u043d\u043e \u043d\u0435 \u0432 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f \u0432\u043a\u043b\u0430\u0434\u043e\u0432. \u041f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u0440\u0430\u0436\u0430\u043b \u0435\u0433\u043e \u0432\u043a\u043b\u0430\u0434\u044b. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f <a href=\"https:\/\/gitlab.com\/eggerd\" rel=\"nofollow noopener noreferrer\">Dustin Eckhardt<\/a> \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435 \u0432\u043a\u043b\u0430\u0434\u043e\u0432.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/profile\/#show-private-contributions-on-your-user-profile-page\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u044f<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/24137\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"ispolzuyte-api-dlya-perenosa-gruppy-v-novuyu-roditelskuyu-gruppu\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 API \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u043d\u043e\u0432\u0443\u044e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/manage\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Manage<\/a><\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u043d\u043e\u0432\u0443\u044e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0447\u0435\u0440\u0435\u0437 API \u0433\u0440\u0443\u043f\u043f. \u0420\u0430\u043d\u0435\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Groups API \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f.<\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u0430 \u0444\u0438\u0447\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0441:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0420\u043e\u043b\u044c\u044e \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 (Owner) \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b<\/li>\n<li>\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u043d\u043e\u0432\u043e\u0439 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0433\u0440\u0443\u043f\u043f\u044b<\/li>\n<li>\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043f\u0440\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f.<\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Use the API to transfer a group to a parent group\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ddd\/7d3\/5ae\/ddd7d35aef2cd34d72f3e6bd92fdb96a.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/api\/groups.html#transfer-a-group-to-a-new-parent-group--turn-a-subgroup-to-a-top-level-group\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0443 \u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u043d\u043e\u0432\u0443\u044e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/23831\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"kopirovanie-blokov-koda-v-markdown-odnim-schelchkom-myshi\">\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u043e\u0432 \u043a\u043e\u0434\u0430 \u0432 Markdown \u043e\u0434\u043d\u0438\u043c \u0449\u0435\u043b\u0447\u043a\u043e\u043c \u043c\u044b\u0448\u0438<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/plan\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Plan<\/a><\/p>\n<p>  <\/p>\n<p>\u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u0432\u0435\u0441\u044c \u043a\u043e\u0434 \u0432 \u0431\u043b\u043e\u043a\u0435 \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 \u0432 Markdown \u0449\u0435\u043b\u0447\u043a\u043e\u043c \u043c\u044b\u0448\u0438 \u043f\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0435 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 \u0431\u043b\u043e\u043a\u0430.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Copy code blocks in Markdown with a single click\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/458\/ad1\/c99\/458ad1c99a12b1edd609fae25aeff1cb.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/markdown.html#code-spans-and-blocks\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0431\u043b\u043e\u043a\u0430\u043c \u043a\u043e\u0434\u0430 \u0432 Markdown<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/21172\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"bolee-svetlaya-obvodka-dlya-ikonok\">\u0411\u043e\u043b\u0435\u0435 \u0441\u0432\u0435\u0442\u043b\u0430\u044f \u043e\u0431\u0432\u043e\u0434\u043a\u0430 \u0434\u043b\u044f \u0438\u043a\u043e\u043d\u043e\u043a<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/create\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Create<\/a><\/p>\n<p>  <\/p>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0438\u043a\u043e\u043d\u043e\u043a \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 GitLab:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<\/li>\n<li>\u041b\u0443\u0447\u0448\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u0431\u0440\u0435\u043d\u0434\u043e\u043c.<\/li>\n<li>\u0421\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u043b\u0443\u0436\u0430\u0442 \u0434\u043e\u043b\u0433\u043e \u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0442 \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0438\u043a\u043e\u043d\u043e\u043a.<\/li>\n<li>\u0425\u043e\u0440\u043e\u0448\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0441\u043e \u0441\u0432\u0435\u0442\u043b\u044b\u043c, \u0442\u0430\u043a \u0438 \u0441 \u0442\u0451\u043c\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c.<\/li>\n<li>\u041b\u0443\u0447\u0448\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u043c\u0435\u0442\u0430\u0444\u043e\u0440\u044b.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/about.gitlab.com\/blog\/2021\/12\/17\/hey-icons-lighten-up\/\" rel=\"nofollow noopener noreferrer\">\u043f\u043e\u0441\u0442\u0435<\/a> \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0430 <a href=\"https:\/\/gitlab.com\/jeldergl\" rel=\"nofollow noopener noreferrer\">Jeremy Elder<\/a>.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Lighter stroke-width for icons\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/242\/3f1\/2ed\/2423f12edc43a1a5fec2d365eff5b6da.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/about.gitlab.com\/blog\/2021\/12\/17\/hey-icons-lighten-up\/\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0441\u0442 Jeremy Elder<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab-svgs\/-\/issues\/178\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"prevyu-izmeneniy-vnesyonnyh-v-stroki-s-obsuzhdeniyami-v-merzh-rekvestah\">\u041f\u0440\u0435\u0432\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430\u0445<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/create\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Create<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0444\u0438\u0434\u0431\u0435\u043a\u043e\u0432 \u0432 \u0440\u0435\u0432\u044c\u044e \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430 (\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GitLab \u00ab\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0441\u043b\u0438\u044f\u043d\u0438\u0435\u00bb) \u043c\u043e\u0433\u0443\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0440\u0435\u0432\u044c\u044e\u0432\u0435\u0440\u044b. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 GitLab \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432\u0435\u0442\u043a\u0430\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u0447\u0442\u043e \u0431\u044b\u043b\u0438 \u0432\u043d\u0435\u0441\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043e\u0442\u043d\u043e\u0441\u0438\u043b\u0438\u0441\u044c \u043b\u0438 \u044d\u0442\u0438 \u043d\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a \u0444\u0438\u0434\u0431\u0435\u043a\u0443 \u0438\u043b\u0438 \u0447\u0435\u043c\u0443-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443, \u0440\u0435\u0432\u044c\u044e\u0432\u0435\u0440\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0438. \u042d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0442\u043e\u0447\u043d\u0435\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0440\u0435\u0432\u044c\u044e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"View inline the change that outdated a merge request thread\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/db5\/304\/dd4\/db5304dd47b59882d8652c96d860f842.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/discussions\/\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f\u043c<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/24468\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"ochistka-podov-obrabotchika-zadaniy-gitlab\">\u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u043f\u043e\u0434\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 GitLab<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/verify\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Verify<\/a><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043f\u043e\u0434\u044b Kubernetes \u043e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 (runner), \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, <a href=\"https:\/\/gitlab.com\/gitlab-org\/ci-cd\/gitlab-runner-pod-cleanup\" rel=\"nofollow noopener noreferrer\">GitLab Runner Pod Cleanup<\/a>, \u0434\u043b\u044f \u0438\u0445 \u043e\u0447\u0438\u0441\u0442\u043a\u0438. \u042d\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 GitLab Runner Manager \u0438, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430, \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u043e\u0434\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u042d\u0442\u0430 \u043d\u043e\u0432\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f Kubernetes \u0434\u043b\u044f GitLab Runner.<\/p>\n<p>  <\/p>\n<div class=\"oembed\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/61deaee0abb378f6450d1ba4\" data-style=\"\" id=\"61deaee0abb378f6450d1ba4\" width=\"\"><\/div>\n<\/div>\n<p>  <\/p>\n<p><a href=\"https:\/\/gitlab.com\/gitlab-org\/ci-cd\/gitlab-runner-pod-cleanup\/-\/blob\/main\/readme.md\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u043f\u043e\u0434\u043e\u0432<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab-runner\/-\/issues\/27870\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"podderzhka-odnovremennogo-ispolzovaniya-jobwhen-i-rules-v-cicd-konfiguraciyah\">\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f job:when \u0438 rules \u0432 CI\/CD-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/verify\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Verify<\/a><\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0432 GitLab CI\/CD \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 <a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/yaml\/#rules\" rel=\"nofollow noopener noreferrer\"><code>rules<\/code><\/a> \u0438 <a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/yaml\/#when\" rel=\"nofollow noopener noreferrer\"><code>when<\/code><\/a> \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c <code>when<\/code> \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0446\u0438\u044e <code>rules<\/code>, \u0447\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u043e\u0431\u044a\u0451\u043c\u043d\u044b\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c \u0441 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0447\u0430\u0441\u0442\u044f\u043c\u0438.<\/p>\n<p>  <\/p>\n<p>\u0412 \u0440\u0435\u043b\u0438\u0437\u0435 14.6 \u043c\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e <code>when<\/code> \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 <code>rules<\/code>. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>when<\/code> \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0437\u0430\u0434\u0430\u043d\u0438\u0439.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/yaml\/index.html#rulesif\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e rules:if<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/219437\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"nastroyka-pravil-ochistki-proksi-zavisimostey-cherez-polzovatelskiy-interfeys\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0430\u0432\u0438\u043b \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043f\u0440\u043e\u043a\u0441\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/package\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Package<\/a><\/p>\n<p>  <\/p>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u043a\u0441\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 GitLab, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438\u0437 Docker Hub, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u043c\u0438 \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u043c\u0438. \u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0432\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043a\u044d\u0448 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u0440\u0430\u0441\u0445\u043e\u0434\u0430\u043c \u043d\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435.<\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:\/\/docs.gitlab.com\/ee\/api\/dependency_proxy.html\" rel=\"nofollow noopener noreferrer\">API<\/a> \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0432\u0441\u0435\u0433\u043e \u043a\u044d\u0448\u0430. \u041d\u043e \u044d\u0442\u043e \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0438 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 GitLab \u0431\u044b\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0441\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0442\u0435\u0433\u0438 \u0441\u0442\u0430\u0440\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432. \u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0430 \u0444\u0438\u0447\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <a href=\"https:\/\/docs.gitlab.com\/ee\/api\/graphql\/reference\/index.html#mutationupdatedependencyproxyimagettlgrouppolicy\" rel=\"nofollow noopener noreferrer\">GraphQL<\/a>, \u0447\u0442\u043e \u0442\u043e\u0436\u0435 \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0435\u0433\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e.<\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0436\u0438\u0437\u043d\u0438 (time-to-live, TTL) \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0441\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0433\u0440\u0443\u043f\u043f \u0432 <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 > \u041f\u0430\u043a\u0435\u0442\u044b \u0438 \u0440\u0435\u0435\u0441\u0442\u0440\u044b > Dependency Proxy<\/strong> (<strong>Settings > Packages &amp; Registries > Dependency Proxy<\/strong>) \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u043a\u044d\u0448\u0430 \u043f\u043e\u0441\u043b\u0435 90 \u0434\u043d\u0435\u0439.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Enable Dependency Proxy cleanup policies from the UI\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c59\/b22\/104\/c59b22104c7273e72649c30ee0e05f2b.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/packages\/dependency_proxy\/#enable-cleanup-policies-from-within-gitlab\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043a\u044d\u0448\u0430<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/340777\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"ispolzovanie-tokenov-razvyortyvaniya-dlya-skachivaniya-zavisimostey-composer\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 Composer<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/package\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Package<\/a><\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/deploy_tokens\/index.html\" rel=\"nofollow noopener noreferrer\">\u0442\u043e\u043a\u0435\u043d\u044b \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f<\/a> \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c Composer. \u0420\u0430\u043d\u0435\u0435 \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 Composer \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f GitLab Composer \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/profile\/personal_access_tokens.html\" rel=\"nofollow noopener noreferrer\">\u043b\u0438\u0447\u043d\u044b\u0435 \u0442\u043e\u043a\u0435\u043d\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/a> \u0438 \u0442\u043e\u043a\u0435\u043d\u044b \u0437\u0430\u0434\u0430\u043d\u0438\u0439. \u042d\u0442\u0438 \u0442\u043e\u043a\u0435\u043d\u044b \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e. <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/deploy_tokens\/index.html\" rel=\"nofollow noopener noreferrer\">\u0422\u043e\u043a\u0435\u043d\u044b \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f<\/a> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c, \u0447\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0438\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/packages\/composer_repository\/#install-a-composer-package\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 Composer<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/240897\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"podderzhka-sast-dlya-net-6\">\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 SAST \u0434\u043b\u044f .NET 6<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/secure\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Secure<\/a><\/p>\n<p>  <\/p>\n<p>\u0420\u0435\u043b\u0438\u0437 Microsoft <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-6\/\" rel=\"nofollow noopener noreferrer\">.NET 6.0<\/a> \u2014 \u044d\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043c\u0430\u0436\u043e\u0440\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 .NET Core, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u044b\u043b\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439. \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e\u0442 \u0440\u0435\u043b\u0438\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 .NET. \u041c\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u043d\u0430\u0448 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 .NET SAST, <a href=\"https:\/\/security-code-scan.github.io\/\" rel=\"nofollow noopener noreferrer\">Security Code Scan<\/a>, \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u044d\u0442\u043e\u0439 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0430\u043a\u0436\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0448\u0438\u043c <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#supported-languages-and-frameworks\" rel=\"nofollow noopener noreferrer\">\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f SAST<\/a>, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 GitLab SAST \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b .NET 6. \u042d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u2014 \u0432\u043a\u043b\u0430\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, <a href=\"https:\/\/gitlab.com\/vasyl11\" rel=\"nofollow noopener noreferrer\">@vasyl11<\/a> \u0438\u0437 <a href=\"https:\/\/my-clay.com\/\" rel=\"nofollow noopener noreferrer\">Clay Solutions<\/a>. \u0421\u043f\u0430\u0441\u0438\u0431\u043e @vasyl11 \u0437\u0430 \u044d\u0442\u0443 \u0444\u0438\u0447\u0443!<\/p>\n<p>  <\/p>\n<p>\u0418\u0437-\u0437\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c\u044e, \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 SAST \u0434\u043b\u044f .NET 6, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b <code>.gitlab-ci.yml<\/code>, \u0447\u0442\u043e\u0431\u044b <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#pinning-to-minor-image-version\" rel=\"nofollow noopener noreferrer\">\u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 \u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043c\u0430\u0436\u043e\u0440\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438<\/a> \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <a href=\"https:\/\/gitlab.com\/-\/snippets\/2223915\" rel=\"nofollow noopener noreferrer\">\u044d\u0442\u043e\u0442 \u0441\u043d\u0438\u043f\u043f\u0435\u0442<\/a> \u0432 \u0432\u0430\u0448 \u0444\u0430\u0439\u043b <code>.gitlab-ci.yml<\/code>, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u043c\u044b \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043e \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u0432 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 SAST \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 .NET \u0434\u043e 3.0 \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 <a href=\"https:\/\/endoflife.date\/dotnet\" rel=\"nofollow noopener noreferrer\">\u043a\u043e\u043d\u0446\u043e\u043c \u0435\u0433\u043e \u0441\u0440\u043e\u043a\u0430 \u0436\u0438\u0437\u043d\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0434\u0430\u0442\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u0442 Microsoft<\/a>. \u0412 GitLab 15.0 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f .NET 5 \u0438 6 SAST \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0438\u0447\u0438.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/analyzers\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c SAST<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"podderzhka-nastroek-https-proksi-cherez-retirejs\">\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a HTTPS \u043f\u0440\u043e\u043a\u0441\u0438 \u0447\u0435\u0440\u0435\u0437 RetireJS<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/secure\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Secure<\/a><\/p>\n<p>  <\/p>\n<p>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0432\u043a\u043b\u0430\u0434\u0443 \u043e\u0442 Ankur Sethi \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u043a\u0441\u0438 \u0432 Retire.js \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f <code>HTTPS_PROXY<\/code>. \u0415\u0441\u043b\u0438 <code>HTTPS_PROXY<\/code> \u0437\u0430\u0434\u0430\u043d\u0430, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u043f\u0446\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f <code>retire<\/code>. \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u044d\u0442\u0443 \u0444\u0438\u0447\u0443!<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/dependency_scanning\/#available-cicd-variables\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c CI\/CD \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/232818\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"avtomaticheskoe-udalenie-git-ssylok-dlya-staryh-razvyortyvaniy\">\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 Git-\u0441\u0441\u044b\u043b\u043e\u043a \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u044b\u0445 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/release\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Release<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u043e \u043c\u0435\u0440\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u0447\u0438\u0441\u043b\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0440\u0430\u0441\u0442\u0438. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434 Git, \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 <a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Git-Internals-Git-References\" rel=\"nofollow noopener noreferrer\">Git-\u0441\u0441\u044b\u043b\u043e\u043a<\/a> \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u044b\u0445 <a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/environments\/#check-out-deployments-locally\" rel=\"nofollow noopener noreferrer\">\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439<\/a>. \u0422\u0435\u043f\u0435\u0440\u044c GitLab \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 50 000 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c Git-\u0441\u0441\u044b\u043b\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/environments\/#archive-old-deployments\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0442\u0430\u0440\u044b\u0445 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/336926\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"rezultaty-skanirovaniya-konteynerov-v-spiske-zavisimostey\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/protect\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Protect<\/a><\/p>\n<p>  <\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u044b, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0435 \u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u0432\u0441\u0435\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0417\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u0432\u0441\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u042d\u0442\u043e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043b\u044e\u0431\u044b\u043c\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u043f\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e, \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 <strong>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u043c\u043f\u043b\u0430\u0435\u043d\u0441 > \u0421\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/strong> (<strong>Security &amp; Compliance > Dependency List<\/strong>).<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Container Scanning results in the Dependency List\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/fbf\/89e\/f29\/fbf89ef290f870bf53f7b530b7bd0a39.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/container_scanning\/#dependency-list\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u043f\u0438\u0441\u043a\u0443 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/6698\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"pravila-vypolneniya-skanirovaniy-sast\">\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439 SAST<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/protect\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Protect<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0433\u0443\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439 SAST \u043f\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u043c\u0443 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0438\u043b\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043e\u0432 (\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GitLab \u00ab\u0441\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u0435 \u043b\u0438\u043d\u0438\u0438\u00bb) \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 <code>.gitlab-ci.yml<\/code>. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u043f\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0431\u0435\u0437 \u0432\u044b\u0434\u0430\u0447\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/policies\/#security-policies-project\" rel=\"nofollow noopener noreferrer\">\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a> \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 <strong>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u043c\u043f\u043b\u0430\u0435\u043d\u0441 > \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0438<\/strong> (<strong>Security &amp; Compliance > Policies<\/strong>). \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f SAST, \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0432 \u043f\u043e\u043b\u0435 <code>scan<\/code> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>sast<\/code>.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"SAST scan execution policies\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0cb\/6dd\/6c8\/0cb6dd6c857d2efe342577ca83109b62.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/policies\/#scan-action-type\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/6586\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"geo-verificiruet-chetyre-dopolnitelnyh-tipa-dannyh\">Geo \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>  <\/p>\n<p>(self-managed: PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/handbook\/engineering\/development\/enablement\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c<\/a><\/p>\n<p>  <\/p>\n<p>GitLab \u0445\u0440\u0430\u043d\u0438\u0442 <a href=\"https:\/\/docs.gitlab.com\/ee\/administration\/uploads.html\" rel=\"nofollow noopener noreferrer\">\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/a>, <a href=\"https:\/\/docs.gitlab.com\/ee\/topics\/git\/lfs\/\" rel=\"nofollow noopener noreferrer\">\u043e\u0431\u044a\u0435\u043a\u0442\u044b LFS<\/a>, <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/pages\/\" rel=\"nofollow noopener noreferrer\">\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f GitLab Pages<\/a> \u0438 <a href=\"https:\/\/docs.gitlab.com\/ee\/administration\/merge_request_diffs.html#using-external-storage\" rel=\"nofollow noopener noreferrer\">\u0434\u0438\u0444\u0444\u044b \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u0432<\/a> \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438\u043b\u0438 \u0432 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. Geo \u0440\u0435\u043f\u043b\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0441\u0430\u0439\u0442\u043e\u0432 \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438\u043b\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0422\u0435\u043f\u0435\u0440\u044c Geo \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0440\u0435\u043f\u043b\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 LFS, \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439 GitLab Pages \u0438 \u0434\u0438\u0444\u0444\u043e\u0432 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u0432. \u042d\u0442\u043e \u0434\u0430\u0451\u0442 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u044e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u044b \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 Geo \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u044d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u043e\u0442\u0435\u0440\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/administration\/geo\/replication\/datatypes.html#data-types\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0440\u0435\u043f\u043b\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/5285\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"nastroyka-maksimalnogo-sroka-zhizni-klyucha-ssh\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0440\u043e\u043a\u0430 \u0436\u0438\u0437\u043d\u0438 \u043a\u043b\u044e\u0447\u0430 SSH<\/h3>\n<p>  <\/p>\n<p>(self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/manage\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Manage<\/a><\/p>\n<p>  <\/p>\n<p>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043d\u0435\u0439, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447 SSH. \u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u0430\u0432\u0438\u043b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c. \u0412 GitLab <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/admin_area\/settings\/account_and_limit_settings.html#limit-the-lifetime-of-personal-access-tokens\" rel=\"nofollow noopener noreferrer\">\u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c<\/a> \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043d\u0435\u0439, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c\u0438 \u043b\u0438\u0447\u043d\u044b\u0435 \u0442\u043e\u043a\u0435\u043d\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (PAT). \u042d\u0442\u0430 \u0444\u0438\u0447\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>  <\/p>\n<p>To set this new limit, administrators can navigate to the Admin Area and select <strong>Settings > General<\/strong>. Find the new setting by expanding <strong>Account and limit<\/strong> to set <strong>Maximum allowed lifetime for SSH keys (in days)<\/strong>.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u043d\u0435\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430, \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 > \u041e\u0431\u0449\u0438\u0435<\/strong> (<strong>Settings > General<\/strong>). \u042d\u0442\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 <strong>\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/strong> (<strong>Account and limit<\/strong>), \u043f\u043e\u043b\u0435 <strong>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 SSH (\u0432 \u0434\u043d\u044f\u0445)<\/strong> (<strong>Maximum allowed lifetime for SSH keys (in days)<\/strong>).<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Set maximum SSH key lifetime\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c40\/a9d\/a9e\/c40a9da9e246832e239cedfff612dab9.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/admin_area\/settings\/account_and_limit_settings.html#limit-the-lifetime-of-ssh-keys\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044e \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 SSH<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/1007\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"autentifikaciya-cherez-webauthn-vklyuchena-po-umolchaniyu\">\u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 WebAuthn \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/manage\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Manage<\/a><\/p>\n<p>  <\/p>\n<p>\u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 WebAuthn \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0431\u044b\u043b\u0430 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 GitLab 13.4; \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0441\u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Touch ID \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 Apple \u043a\u0430\u043a \u0432\u0442\u043e\u0440\u043e\u0439 \u0444\u0430\u043a\u0442\u043e\u0440 \u0434\u043b\u044f \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u0435\u0441\u043b\u0438 \u0438\u0445 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u044d\u0442\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442. \u042d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445, \u043e\u0442\u043a\u0430\u0437\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043e\u0442 U2F \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 WebAuthn.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/profile\/account\/two_factor_authentication.html#webauthn-device\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 WebAuth<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/232671\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"otobrazhenie-zagolovka-tiketa-v-markdown\">\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0442\u0438\u043a\u0435\u0442\u0430 \u0432 Markdown<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/plan\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Plan<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0442\u0438\u043a\u0435\u0442\u044b (\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GitLab \u00ab\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f\u00bb), \u044d\u043f\u0438\u043a\u0438 (\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GitLab \u00ab\u0446\u0435\u043b\u0438\u00bb) \u0438\u043b\u0438 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u044b \u0432 \u043f\u043e\u043b\u044f\u0445 \u0441 Markdown \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043a\u0440\u043e\u043c\u0435 ID. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c <code>+<\/code> \u043a \u0442\u0438\u043a\u0435\u0442\u0443, \u044d\u043f\u0438\u043a\u0443 \u0438\u043b\u0438 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Render the title of a referenced issue within markdown\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/be1\/809\/2c4\/be18092c45d1cf37596b484692453bd2.gif\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/markdown.html#show-the-issue-merge-request-or-epic-title-in-the-reference\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e Markdown<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/15694\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"shablon-soobscheniya-dlya-obedineniya-kommitov\">\u0428\u0430\u0431\u043b\u043e\u043d \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/create\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Create<\/a><\/p>\n<p>  <\/p>\n<p>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (squash) \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0447\u0438\u0449\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044f \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u043f\u0440\u0438 \u043c\u0435\u0440\u0436\u0435. \u041f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432\u0435\u0442\u043e\u043a \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0449\u0435, \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u043b\u043e\u0433\u0438\u043a\u0430, \u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0437\u0430 \u044d\u0442\u0438\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u043e\u0439. \u0420\u0430\u043d\u044c\u0448\u0435 GitLab \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434 \u043c\u0435\u0440\u0436\u0435\u043c, \u0442\u043e \u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0430\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445.<\/p>\n<p>  <\/p>\n<p>\u041c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GitLab \u00ab\u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0435\u00bb) \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u0430\u0436\u0434\u043e\u043c \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0435: \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0438 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0421 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043c\u043e\u0436\u0435\u0442 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/p>\n<p>  <\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e <a href=\"https:\/\/gitlab.com\/trakos\" rel=\"nofollow noopener noreferrer\">Piotr<\/a> \u0437\u0430 \u044d\u0442\u043e\u0442 \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434!<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Squash commit message template\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0f4\/cda\/2b5\/0f4cda2b533cfdf6392df6416c657a9f.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/merge_requests\/commit_templates.html\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c \u043a\u043e\u043c\u043c\u0438\u0442-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/345275\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"prichina-neudachnogo-zaversheniya-zadaniya-vozvraschaetsya-cherez-api\">\u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 API<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/verify\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Verify<\/a><\/p>\n<p>  <\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c API \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u043d\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u044b\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e <a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/yaml\/#retrywhen\" rel=\"nofollow noopener noreferrer\"><code>retry:when<\/code><\/a>.<\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043e\u0442\u0432\u0435\u0442\u0430\u0445 \u043e\u0442 Jobs API \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>failure_reason<\/code>, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u0445 \u043e\u0448\u0438\u0431\u043a\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435. \u0421\u043f\u0430\u0441\u0438\u0431\u043e <a href=\"https:\/\/gitlab.com\/albertvaka\" rel=\"nofollow noopener noreferrer\">@albert.vacacintora<\/a> \u0437\u0430 \u044d\u0442\u0443 \u0444\u0438\u0447\u0443!<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/api\/jobs.html\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API \u0437\u0430\u0434\u0430\u043d\u0438\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/33552\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"veb-huk-teper-srabatyvaet-dlya-otlozhennyh-zadaniy\">\u0412\u0435\u0431-\u0445\u0443\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u043b\u044f \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/verify\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Verify<\/a><\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0431-\u0445\u0443\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 CI\/CD, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u044b\u043b\u043e \u0442\u0440\u0443\u0434\u043d\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 (<code>pending<\/code>) \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435.<\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0431-\u0445\u0443\u043a \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u00ab\u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043e\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0431\u0445\u043e\u0434\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0438\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/integrations\/webhook_events.html#job-events\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0432\u0435\u0431-\u0445\u0443\u043a\u0430\u043c \u0434\u043b\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0437\u0430\u0434\u0430\u043d\u0438\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/28103\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"publikaciya-paketov-conan-tolko-s-nazvaniem-i-versiey\">\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432 Conan \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0432\u0435\u0440\u0441\u0438\u0435\u0439<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/package\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Package<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 GitLab Conan \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 C\/C++. \u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 Conan \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u043e\u043b\u044f: <code>name<\/code> (\u0438\u043c\u044f), <code>version<\/code> (\u0432\u0435\u0440\u0441\u0438\u044f), <code>user<\/code> (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c) \u0438 <code>channel (\u043a\u0430\u043d\u0430\u043b)<\/code>. \u042d\u0442\u0438 \u043f\u043e\u043b\u044f \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u043f\u0430\u043a\u0435\u0442. \u041f\u043e\u043b\u044f <code>user<\/code> \u0438 <code>channel<\/code> \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0432 <a href=\"https:\/\/docs.conan.io\/en\/latest\/conan_v2.html\" rel=\"nofollow noopener noreferrer\">Conan 2.0<\/a>, \u043d\u043e GitLab \u0442\u0440\u0435\u0431\u0443\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0439 \u043e\u0431 \u0438\u043c\u0435\u043d\u0430\u0445 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 GitLab \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u0438\u0437 Conan \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438 \u043d\u0435\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u043e.<\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 GitLab Conan \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 Conan. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0430\u043a\u0435\u0442\u044b Conan \u043a\u0430\u043a \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 <code>user<\/code> \u0438 <code>channel<\/code>, \u0442\u0430\u043a \u0438 \u0431\u0435\u0437 \u043d\u0438\u0445. \u042d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u043e\u0438\u0441\u043a \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435. \u042d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u2014 \u043f\u0435\u0440\u0432\u043e\u0435 \u0438\u0437 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/6816\" rel=\"nofollow noopener noreferrer\">\u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439<\/a> \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Conan, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0438\u0437 \u0431\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u0438 \u0432 \u043e\u0431\u0449\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/packages\/conan_repository\/#package-without-a-username-and-a-channel\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044e Conan \u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c \u0431\u0435\u0437 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043a\u0430\u043d\u0430\u043b\u0430<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/345055\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"vozmozhnost-kombinirovaniya-polzovatelskih-naborov-pravil-dlya-sast-i-poiska-klyuchey\">\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u043f\u0440\u0430\u0432\u0438\u043b \u0434\u043b\u044f SAST \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u043a\u043b\u044e\u0447\u0435\u0439<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/secure\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Secure<\/a><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 GitLab 13.5 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u043f\u0440\u0430\u0432\u0438\u043b \u0434\u043b\u044f SAST \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 (<a href=\"https:\/\/about.gitlab.com\/releases\/2020\/10\/22\/gitlab-13-5-released\/#customizing-sast--secret-detection-rules\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a>, <a href=\"https:\/\/habr.com\/ru\/post\/527208\/#nastroyka-pravil-sast-i-poiska-sekretnyh-klyuchey\">\u043f\u0435\u0440\u0435\u0432\u043e\u0434<\/a>). \u042d\u0442\u0438 \u043d\u0430\u0431\u043e\u0440\u044b \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 SAST \u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043a\u043b\u044e\u0447\u0438 \u043a \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f\u043c \u0432\u0430\u0448\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u0427\u0442\u043e\u0431\u044b \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 Git \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0421 \u044d\u0442\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0449\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u043d\u0430\u0431\u043e\u0440\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0438 \u0437\u0430 \u0441\u0447\u0451\u0442 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438. \u041c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e \u044d\u0442\u0443 \u043d\u043e\u0432\u0443\u044e \u0444\u0438\u0447\u0443 \u0432 <a href=\"https:\/\/about.gitlab.com\/blog\/2021\/12\/21\/rule-pack-synthesis\/\" rel=\"nofollow noopener noreferrer\">\u043f\u043e\u0441\u0442\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435<\/a>. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#customize-rulesets\" rel=\"nofollow noopener noreferrer\">\u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 SAST Semgrep, Nodejs \u0438 Gosec<\/a> \u0438 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/secret_detection\/#custom-rulesets\" rel=\"nofollow noopener noreferrer\">\u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/a>. \u041c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u044d\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0430\u0448\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/4179\" rel=\"nofollow noopener noreferrer\">\u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0440\u0435\u043b\u0438\u0437\u0430\u0445<\/a>.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#customize-rulesets\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a>\u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/339614\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"obnovleniya-analizatorov-sast\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 SAST<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/secure\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Secure<\/a><\/p>\n<p>  <\/p>\n<p>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (SAST) \u0432 GitLab \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#supported-languages-and-frameworks\" rel=\"nofollow noopener noreferrer\">\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a>, \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 GitLab. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0432 \u0440\u0435\u043b\u0438\u0437\u0435 14.6. \u0412 \u044d\u0442\u0438\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0435 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f, \u0431\u044b\u043b\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<p>  <\/p>\n<ul>\n<li>Spotbugs \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0434\u043e v2.28.11: <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/spotbugs\/-\/merge_requests\/119\" rel=\"nofollow noopener noreferrer\">\u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442<\/a>, <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/spotbugs\/-\/blob\/master\/CHANGELOG.md#v22811\" rel=\"nofollow noopener noreferrer\">\u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/a>.<br \/>  1) \u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 Log4j \u0434\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 v4.5.2. \u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 <a href=\"https:\/\/about.gitlab.com\/blog\/2021\/12\/15\/updates-and-actions-to-address-logj-in-gitlab\/\" rel=\"nofollow noopener noreferrer\">\u043f\u043e\u0441\u0442 \u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435<\/a>, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435.<br \/>  2) \u0418\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 CA.<\/li>\n<li>PMD \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0434\u043e v2.12.10: <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/pmd-apex\/-\/merge_requests\/75\" rel=\"nofollow noopener noreferrer\">\u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442<\/a>, <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/pmd-apex\/-\/blob\/master\/CHANGELOG.md#v21210\" rel=\"nofollow noopener noreferrer\">\u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/a>.<br \/> \n<ul>\n<li>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Log4j. <a href=\"https:\/\/about.gitlab.com\/blog\/2021\/12\/15\/updates-and-actions-to-address-logj-in-gitlab\/\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432 \u0431\u043b\u043e\u0433\u0435<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Semgrep \u0434\u043e v0.76.2: <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/semgrep\/-\/merge_requests\/94\" rel=\"nofollow noopener noreferrer\">\u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442<\/a>, <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/semgrep\/-\/blob\/main\/CHANGELOG.md#v2160\" rel=\"nofollow noopener noreferrer\">\u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/a>.<\/li>\n<li>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Gosec \u0434\u043e v2.9.5: <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/gosec\/-\/merge_requests\/137\" rel=\"nofollow noopener noreferrer\">\u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442<\/a>, <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\/gosec\/-\/blob\/master\/CHANGELOG.md#v345\" rel=\"nofollow noopener noreferrer\">\u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/a>.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#configure-sast-manually\" rel=\"nofollow noopener noreferrer\">\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 GitLab \u0448\u0430\u0431\u043b\u043e\u043d SAST<\/a> (<a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/blob\/master\/lib\/gitlab\/ci\/templates\/Security\/SAST.gitlab-ci.yml\" rel=\"nofollow noopener noreferrer\">SAST.gitlab-ci.yml<\/a>), \u0442\u043e \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0435 \u0435\u0433\u043e \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d CI, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 CI. \u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/#pinning-to-minor-image-version\" rel=\"nofollow noopener noreferrer\">\u0437\u0430\u043a\u0440\u0435\u043f\u0438\u0442\u044c \u043c\u0438\u043d\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430<\/a>, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043b\u044e\u0431\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430. \u0417\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043c\u0435\u043d\u0438\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430, \u0438 \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043c\u0435\u043d\u044f\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 CI.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/sast\/analyzers\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 SAST<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/security-products\/analyzers\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"ispolzovanie-ds_excluded_paths-teper-privodit-k-predvaritelnoy-filtracii-zavisimostey\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 DS_EXCLUDED_PATHS \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/secure\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Secure<\/a><\/p>\n<p>  <\/p>\n<p>\u0412\u0430\u0436\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <code>DS_EXCLUDED_PATHS<\/code> \u0432 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439: \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 <code>DS_EXCLUDED_PATHS<\/code> \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0442\u0435 \u0438\u0437 \u043d\u0438\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439. \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043b\u0438\u0448\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u0438\u043b\u0438 \u0441\u0431\u043e\u0435\u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u044f\u0432\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>DS_EXCLUDED_PATHS<\/code>. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0430 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0432\u043d\u0435\u0441\u0435\u043d\u043e 2\u2011\u0433\u043e \u0434\u0435\u043a\u0430\u0431\u0440\u044f 2021 \u0434\u043b\u044f gemnasium, 6-\u0433\u043e \u0434\u0435\u043a\u0430\u0431\u0440\u044f 2021 \u0434\u043b\u044f gemnasium-python \u0438 7-\u0433\u043e \u0434\u0435\u043a\u0430\u0431\u0440\u044f 2021 \u0434\u043b\u044f gemnasium-maven. \u042d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e \u0432\u0441\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044f\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0435\u0433\u043e \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438.<\/p>\n<p>  <\/p>\n<p>\u0412\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u043e\u0436\u0438\u0434\u0430\u043b\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 \u043f\u043e\u0441\u0442-\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 (\u0430 \u043d\u0435 \u043f\u0440\u0435-) \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0430\u043c, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u043b\u043e \u0441\u0431\u043e\u0438 \u0438 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438, \u0447\u0442\u043e \u043f\u0440\u0435-\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u043e\u0441\u0442-, \u0431\u044b\u043b\u0430 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u0438 \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0432 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/dependency_scanning\/#configuring-dependency-scanning\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/292457\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"bystroe-deystvie-dlya-prevrascheniya-tiketa-v-incident\">\u0411\u044b\u0441\u0442\u0440\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0438\u043a\u0435\u0442\u0430 \u0432 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442<\/h3>\n<p>  <\/p>\n<p>(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/monitor\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Monitor<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u0432\u0440\u0435\u043c\u044f \u0438 \u0443\u0441\u0438\u043b\u0438\u044f \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0432 \u0442\u0438\u043a\u0435\u0442\u0435, \u0438\u043d\u043e\u0433\u0434\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442, \u0447\u0442\u043e \u0442\u0438\u043a\u0435\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u043c. \u0422\u0435\u043f\u0435\u0440\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 <code>\/promote_to_incident<\/code>, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043a\u0435\u0442 \u0432 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442. \u0412\u0435\u0441\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 (\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u043c\u0435\u0442\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u0442. \u0434.) \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/quick_actions.html#issues-merge-requests-and-epics\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/296787\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043a\u0435\u0442<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"customize-deduplication-of-container-scanning-vulnerabilities\">Customize deduplication of container scanning vulnerabilities<\/h3>\n<p>  <\/p>\n<h3 id=\"nastroyka-deduplikacii-uyazvimostey-pri-skanirovanii-konteynerov\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/protect\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Protect<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0442\u0430\u043a\u043e\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u043e\u0431 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432, \u0447\u0442\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0432\u0435\u0442\u043e\u043a \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0442\u0435\u0433\u0435 \u043e\u0431\u0440\u0430\u0437\u0430, \u0430 \u043d\u0435 \u0432 \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u0440\u0430\u0437\u0430. \u0414\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044e \u043e\u0431 \u0438\u043c\u0435\u043d\u0430\u0445, \u0433\u0434\u0435 \u0438\u043c\u044f \u0432\u0435\u0442\u043a\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u0440\u0430\u0437\u0430, \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043a\u0430\u043d\u0435\u0440\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0443\u043a\u0430\u0437\u0430\u0432 \u043d\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <code>CS_DEFAULT_BRANCH_IMAGE<\/code> \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u042d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 Auto DevOps, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430\u0445 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0443\u0442\u0451\u043c \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043b\u044e\u0431\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432 \u0432\u0435\u0442\u043a\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/container_scanning\/#setting-the-default-branch-image\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/5577\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"otvyazka-proektov-pravil-bezopasnosti\">\u041e\u0442\u0432\u044f\u0437\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>  <\/p>\n<p>(SaaS: ULTIMATE; self-managed: ULTIMATE) <a href=\"https:\/\/about.gitlab.com\/stages-devops-lifecycle\/protect\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0442\u0430\u0434\u0438\u044f \u0446\u0438\u043a\u043b\u0430 DevOps: Protect<\/a><\/p>\n<p>  <\/p>\n<p>\u0412\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u0432\u044f\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a <strong>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u043c\u043f\u043b\u0430\u0435\u043d\u0441 > \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0438<\/strong> (<strong>Security &amp; Compliance > Policies<\/strong>) \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438<\/strong> (<strong>Edit Policy Project<\/strong>). \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u043e\u043a \u043a\u043e\u0440\u0437\u0438\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043e\u0440\u0432\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u0441 \u0440\u0430\u043d\u0435\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"Unlink security policy projects\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/af7\/0ae\/edb\/af70aeedb64e9561978987d5e252c7a9.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/application_security\/policies\/#unlink-security-policy-projects\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0442\u0432\u044f\u0437\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a> \u0438 <a href=\"https:\/\/gitlab.com\/groups\/gitlab-org\/-\/epics\/6810\" rel=\"nofollow noopener noreferrer\">\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043f\u0438\u043a<\/a>.<\/p>\n<p>  <\/p>\n<h3 id=\"uluchsheniya-udobstva-ispolzovaniya\">\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/h3>\n<p>  <\/p>\n<p>\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0448\u0430\u0433\u0438 \u043f\u043e \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044e \u043e\u0431\u0449\u0435\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0423 \u043d\u0430\u0441 \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/nicolasdular.gitlab.io\/gitlab-polish-gallery\/\" rel=\"nofollow noopener noreferrer\">\u0413\u0430\u043b\u0435\u0440\u0435\u044f UI Polish<\/a> \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0436\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u043d\u0430\u0448\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. \u042d\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0445\u043e\u0442\u044c \u0447\u0430\u0441\u0442\u043e \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435, \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0430\u044e\u0442 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<p>\u0412 GitLab 14.6 \u043c\u044b \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0430\u0434 \u0442\u0438\u043a\u0435\u0442\u0430\u043c\u0438, \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u043c\u0430\u0439\u043b\u0441\u0442\u043e\u0443\u043d\u0430\u043c\u0438 (\u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GitLab \u00ab\u044d\u0442\u0430\u043f\u044b\u00bb) \u0438 \u043c\u043d\u043e\u0433\u0438\u043c \u0434\u0440\u0443\u0433\u0438\u043c. \u041c\u044b \u043e\u0441\u043e\u0431\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 GitLab 14.6:<\/p>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/345388\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u00ab\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u00bb (\u201cLast Activity\u201d) \u043a CSV-\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0443 \u0432 \/admin\/users<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/345882\" rel=\"nofollow noopener noreferrer\">\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u043a\u043e\u043c \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/344857\" rel=\"nofollow noopener noreferrer\">\u041f\u0435\u0440\u0435\u043d\u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442 \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/343977\" rel=\"nofollow noopener noreferrer\">\u0418\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u043b\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u043c\u0435\u0449\u0430\u043b\u0441\u044f \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u0439<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/345385\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043e\u0442\u0441\u0442\u0443\u043f \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0439<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/346392\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0435 \u043c\u0435\u0441\u0442\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0434\u043b\u044f pages:deploy \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0439<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/340592\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u0430\u0432\u0448\u0438\u0435 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b \u0438\u0437 <strong>Analytics > CI\/CD<\/strong> \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/342979\" rel=\"nofollow noopener noreferrer\">\u0421\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/343434\" rel=\"nofollow noopener noreferrer\">\u0412\u044b\u0440\u043e\u0432\u043d\u044f\u043b\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043e\u0432 \u043d\u0430 \u043c\u0438\u043d\u0438-\u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/292018\" rel=\"nofollow noopener noreferrer\">\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432: \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/336934\" rel=\"nofollow noopener noreferrer\">\u0423\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u0433\u043e\u0432 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/340777\" rel=\"nofollow noopener noreferrer\">\u041d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 TTL \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/346109\" rel=\"nofollow noopener noreferrer\">\u0424\u0430\u0439\u043b\u043e\u0432\u043e\u043c\u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443 \u0432 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430\u0445 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430, \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/346053\" rel=\"nofollow noopener noreferrer\">\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430\u0445<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/327052\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043c\u043e\u0433\u0443\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0432 \u043f\u043e\u0438\u0441\u043a\u0435 \u043a\u043e\u0434 \u0431\u044b\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437 \u0438\u0437\u043c\u0435\u043d\u0451\u043d<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/327052\" rel=\"nofollow noopener noreferrer\">\u0423\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0438<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/327738\" rel=\"nofollow noopener noreferrer\">\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u0446\u0438\u043a\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 (VSA): \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u0438\u0434\u0438\u043c\u044b\u043c\u0438 \u0432 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u043c\u0441\u044f \u0441\u043f\u0438\u0441\u043a\u0435<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/341962\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u043e\u0435 \u0432 \u0432\u0438\u0434\u0436\u0435\u0442\u0435 \u043c\u0435\u0440\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/334917\" rel=\"nofollow noopener noreferrer\">\u041e\u0442\u0447\u0451\u0442 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438: \u043d\u043e\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u043e\u043a \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<\/a>.<\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/348264\" rel=\"nofollow noopener noreferrer\">\u0418\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439: \u0431\u044b\u043b\u043e \u201cElapsed time\u201d, \u0441\u0442\u0430\u043b\u043e \u201cDuration\u201d <\/a><\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/347525\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 not \u0432 API \u044d\u043f\u0438\u043a\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/issues\/347527\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 parent_iid \u0438 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u044d\u043f\u0438\u043a-\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0432 API \u044d\u043f\u0438\u043a\u043e\u0432<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<hr\/>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0440\u0435\u043b\u0438\u0437\u0430 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e\/\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u043c \u043f\u043e\u0441\u0442\u0435 <a href=\"https:\/\/about.gitlab.com\/releases\/2021\/12\/22\/gitlab-14-6-released\/\" rel=\"nofollow noopener noreferrer\">GitLab 14.6 adds seamless Geo experience and supports .NET 6 in SAST<\/a>.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0434 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0441 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 <a href=\"https:\/\/habr.com\/ru\/users\/cattidourden\/\" class=\"user_link\">cattidourden<\/a>, <a href=\"https:\/\/habr.com\/ru\/users\/maryartkey\/\" class=\"user_link\">maryartkey<\/a>, <a href=\"https:\/\/habr.com\/ru\/users\/ainoneko\/\" class=\"user_link\">ainoneko<\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/users\/rishavant\/\" class=\"user_link\">rishavant<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/646065\/\"> https:\/\/habr.com\/ru\/post\/646065\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/c96\/4f0\/d77\/c964f0d7737a13e307e4a47069d14953.jpg\" alt=\"\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c96\/4f0\/d77\/c964f0d7737a13e307e4a47069d14953.jpg\" data-blurred=\"true\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0440\u0430\u0434\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043e \u0432\u044b\u0445\u043e\u0434\u0435 \u0440\u0435\u043b\u0438\u0437\u0430 GitLab 14.6, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 2021-\u0433\u043e \u0433\u043e\u0434\u0430. \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c: <a href=\"#bespereboynaya-rabota-po-vsemu-miru-s-geo\">\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Geo<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 git clone \u0438\u043b\u0438 git pull \u0437\u0430 \u0441\u0447\u0451\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u043a \u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430; <a href=\"#zapis-deystviy-agenta-gitlab-dlya-kubernetes\">\u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0430\u0433\u0435\u043d\u0442\u0430 GitLab<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0430\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u043a\u0430\u043a \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u043a\u0435\u043d\u0430; \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f SAST, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <a href=\"#pravila-vypolneniya-skanirovaniy-sast\">\u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f SAST-\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439<\/a> \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <a href=\"#podderzhka-sast-dlya-net-6\">.NET 6<\/a>.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-328155","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/328155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=328155"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/328155\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=328155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=328155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=328155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}