{"id":8569,"date":"2022-02-09T10:01:32","date_gmt":"2022-02-09T08:01:32","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog_he\/?p=8569"},"modified":"2023-01-02T13:02:39","modified_gmt":"2023-01-02T11:02:39","slug":"gitlab-code-owners","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-code-owners\/","title":{"rendered":"\u05d4\u05d9\u05db\u05e8\u05d5\u05ea \u05d5\u05d4\u05d3\u05d2\u05de\u05d4: Code Owners \u05d1- GitLab"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">\u05d1\u05de\u05d0\u05de\u05e8 \u05d4\u05d1\u05d0 \u05d9\u05d5\u05e1\u05d1\u05e8 \u05e2\u05dc \u05d4\u05d9\u05db\u05d5\u05dc\u05ea \u05e9\u05dc &quot;Code Owners&quot; \u05e2\u05dd \u05d4\u05d3\u05d2\u05de\u05d5\u05ea \u05d5\u05e7\u05d9\u05e9\u05d5\u05e8 \u05dc\u05de\u05d9\u05d3\u05e2 \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9 \u05e0\u05d5\u05e1\u05e3<\/h3>\n\n\n\n<h5 class=\"wp-block-heading\"><em>\u05e2\u05d3\u05db\u05d5\u05df \u05d0\u05d7\u05e8\u05d5\u05df: 1\/1\/2023<\/em><\/h5>\n\n\n\n<p><\/p>\n\n\n\n<p><em>Code Owners<\/em> \u05d6\u05d5 \u05d0\u05d7\u05ea \u05d4\u05ea\u05db\u05d5\u05e0\u05d5\u05ea \u05d4\u05d7\u05d6\u05e7\u05d5\u05ea \u05d1- GitLab \u05d1\u05d4\u05e7\u05e9\u05e8 \u05dc- Source Control \u05d5- Code Review.<br>\u05d9\u05db\u05d5\u05dc\u05ea \u05d6\u05d5 \u05e0\u05de\u05e6\u05d0\u05ea \u05db\u05d9\u05d5\u05dd \u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea Premium \u05d5- Ultimate (\u05d4\u05d9\u05ea\u05d4 \u05d1\u05e2\u05d1\u05e8 \u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05ea Starter \u05e9\u05d1\u05d5\u05d8\u05dc\u05d4 \u05d1\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 2021).<\/p>\n\n\n\n<p><em>Code Owners<\/em> \u05de\u05d2\u05d3\u05d9\u05e8\u05d4 \u05de\u05d9 \u05d9\u05d5\u05d2\u05d3\u05e8 \u05db\u05d0\u05d7\u05e8\u05d0\u05d9 \u05e2\u05dc \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5\u05ea\u05d7\u05d6\u05d5\u05e7\u05d4 \u05e9\u05dc \u05e4\u05d9\u05e6'\u05e8 (\u05d5\u05e9\u05dc \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05e9\u05e7\u05e9\u05d5\u05e8\u05d9\u05dd \u05d0\u05dc\u05d9\u05d5) \u05d1- git repository :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05d4\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05e9\u05ea\u05d2\u05d3\u05d9\u05e8\u05d5 \u05db- code owners \u05d9\u05d5\u05e4\u05d9\u05e2\u05d5 \u05d1- UI &nbsp;\u05db\u05d0\u05e9\u05e8 \u05de\u05e6\u05d9\u05d2\u05d9\u05dd \u05d0\u05ea \u05e1\u05e4\u05e8\u05d9\u05d5\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd<br>(\u05e0\u05d9\u05ea\u05df \u05d2\u05dd \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e7\u05d5\u05d1\u05e5 &quot;CODEOWNERS&quot; \u05db\u05e4\u05d9 \u05e9\u05de\u05d5\u05e1\u05d1\u05e8 \u05d1\u05ea\u05d9\u05e2\u05d5\u05d3 \u05d4\u05d8\u05db\u05e0\u05d9 [\u05e7\u05d9\u05e9\u05d5\u05e8 \u05d1\u05d4\u05de\u05e9\u05da])<img loading=\"lazy\" decoding=\"async\" width=\"340\" height=\"147\" class=\"wp-image-8608\" style=\"width: 340px;\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2022\/02\/code-owner-example.png\" alt=\"\u05d4\u05de\u05e9\u05ea\u05de\u05e9 ALMtoolbox \u05d4\u05d5\u05d0- \u05d4- code owner \u05e9\u05dc \u05d4\u05e7\u05d5\u05d1\u05e5 \u05e9\u05d1\u05ea\u05de\u05d5\u05e0\u05d4\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2022\/02\/code-owner-example.png 577w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2022\/02\/code-owner-example-300x129.png 300w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><br><em>\u05d3\u05d5\u05d2\u05de\u05d0 : \u05d4\u05de\u05e9\u05ea\u05de\u05e9 ALMtoolbox \u05d4\u05d5\u05d0- \u05d4- code owner \u05e9\u05dc \u05d4\u05e7\u05d5\u05d1\u05e5&nbsp;\u05e9\u05d1\u05ea\u05de\u05d5\u05e0\u05d4<\/em><\/li>\n\n\n\n<li>\u05d0\u05e4\u05e9\u05e8 \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05d0\u05ea \u05d4- Merge requests \u05db\u05da \u05e9\u05d9\u05e6\u05e8\u05d9\u05db\u05d5 \u05d0\u05d9\u05e9\u05d5\u05e8 \u05e9\u05dc \u05d4- code owners<\/li>\n\n\n\n<li>\u05d0\u05e4\u05e9\u05e8 \u05d2\u05dd \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05e9\u05e8\u05e7 Code owners \u05d9\u05d5\u05db\u05dc\u05d5 \u05dc\u05e9\u05e0\u05d5\u05ea branch \u05e9\u05d1\u05d5 \u05e0\u05de\u05e6\u05d0\u05d9\u05dd \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05e9\u05d4\u05dd \u05d4\u05d1\u05e2\u05dc\u05d9\u05dd \u05e9\u05dc\u05d4\u05dd<\/li>\n<\/ul>\n\n\n\n<p>\u05e0\u05d9\u05ea\u05df \u05d2\u05dd \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1- Code Owners \u05d1\u05e9\u05d9\u05dc\u05d5\u05d1 \u05e2\u05dd <strong><em>Approval rules<\/em><\/strong> (\u05e9\u05d4\u05d9\u05d0 \u05d9\u05db\u05d5\u05dc\u05ea \u05e0\u05d5\u05e1\u05e4\u05ea \u05d1- GitLab \u05e9\u05e7\u05d9\u05d9\u05de\u05ea \u05d1- Premium \u05d0\u05d5 Ultimate) \u05db\u05d3\u05d9 \u05dc\u05d1\u05e0\u05d5\u05ea \u05ea\u05d4\u05dc\u05d9\u05da \u05d0\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd \u05de\u05ea\u05d5\u05d7\u05db\u05dd. \u05db\u05da \u05dc\u05de\u05e9\u05dc \u05d0\u05e4\u05e9\u05e8 \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05e9\u05d0\u05e0\u05e9\u05d9\u05dd \u05de\u05e1\u05d5\u05d9\u05d9\u05de\u05d9\u05dd \u05d9\u05d4\u05d9\u05d5 code owners \u05dc\u05d0\u05d9\u05d6\u05d5\u05e8 \u05de\u05e1\u05d5\u05d9\u05d9\u05dd \u05d1\u05e7\u05d5\u05d3 (\u05dc\u05de\u05e9\u05dc path \u05de\u05e1\u05d5\u05d9\u05d9\u05dd), \u05d5\u05d0\u05d6 \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1- Approval Rules \u05db\u05d3\u05d9 \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05de\u05d9 \u05d4\u05dd \u05d4\u05de\u05d5\u05e8\u05e9\u05d9\u05dd \u05dc\u05d0\u05e9\u05e8 \u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd (\u05dc\u05de\u05e9\u05dc: \u05e6\u05d5\u05d5\u05ea security), \u05d5\u05d0\u05d6 \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05e9\u05d1- path \u05de\u05e1\u05d5\u05d9\u05d9\u05dd \u05d1- repo , \u05d4\u05d0\u05d9\u05e9\u05d5\u05e8 \u05e9\u05dc\u05d4\u05dd \u05e0\u05d3\u05e8\u05e9 \u05dc\u05db\u05dc \u05e9\u05d9\u05e0\u05d5\u05d9. \u05dc\u05d3\u05d5\u05d2\u05de\u05d0:&nbsp; <\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<table style=\"direction: ltr;\">\n<thead>\n<tr>\n<th>Type<\/th><th>Name<\/th><th>Scope<\/th><th>Comment<\/th><\/tr><\/thead><tbody>\n<tr>\n<td>Approval rule<\/td><td>UX<\/td><td>All files<\/td><td style=\"direction: rtl;\">\u05d7\u05d1\u05e8 \u05e6\u05d5\u05d5\u05ea UX (User Experience) \u05d9\u05d1\u05d3\u05d5\u05e7 \u05d5\u05d9\u05d0\u05e9\u05e8 \u05d0\u05ea \u05db\u05dc \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd \u05d1\u05e4\u05e8\u05d5\u05d9\u05d9\u05e7\u05d8<\/td><\/tr><tr>\n<td>Approval rule<\/td><td>Security<\/td><td>All files<\/td><td style=\"direction: rtl;\">\u05d7\u05d1\u05e8 \u05e6\u05d5\u05d5\u05ea security \u05d1\u05d5\u05d3\u05e7 \u05d0\u05ea \u05db\u05dc \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd \u05db\u05d3\u05d9 \u05dc\u05d6\u05d4\u05d5\u05ea \u05d7\u05d5\u05dc\u05e9\u05d5\u05ea (vulnerabilities)<\/td><\/tr><tr>\n<td>Code Owner approval rule<\/td><td>Frontend: Code Style<\/td><td>\n<code class=\"highlighter-rouge\">*.css<\/code> files<\/td><td>A frontend engineer reviews CSS file changes for adherence to project style standards.<\/td><\/tr><tr>\n<td>Code Owner approval rule<\/td><td>Backend: Code Review<\/td><td>\n<code class=\"highlighter-rouge\">*.rb<\/code> files<\/td><td>A backend engineer reviews the logic and code style of Ruby files.<\/td><\/tr><\/tbody><\/table>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u05d4\u05e0\u05d4 \u05e9\u05ea\u05d9 \u05d4\u05d3\u05d2\u05de\u05d5\u05ea \u05e7\u05e6\u05e8\u05d5\u05ea:<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u05d0\u05d9\u05da \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1- Code Owners Approvers :<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">(\u05de\u05e9\u05da \u05d4\u05d5\u05d9\u05d3\u05d0\u05d5: 7 \u05d3\u05e7\u05d5\u05ea. \u05e0\u05d9\u05ea\u05df \u05dc\u05dc\u05d7\u05d5\u05e5 \u05e2\u05dc &quot;CC&quot; \u05dc\u05e7\u05d1\u05dc\u05ea \u05db\u05ea\u05d5\u05d1\u05d9\u05d5\u05ea)<\/h4>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<iframe loading=\"lazy\" width=\"700\" height=\"393.75\" src=\"https:\/\/www.youtube.com\/embed\/Q9WFrtJMnDI\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u05d0\u05d9\u05da \u05dc\u05e7\u05e0\u05e4\u05d2 \u05d0\u05ea \u05e7\u05d5\u05d1\u05e5 \u05d4- Code Owners :<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">(\u05de\u05e9\u05da \u05d4\u05d5\u05d9\u05d3\u05d0\u05d5: 5 \u05d3\u05e7\u05d5\u05ea. \u05e0\u05d9\u05ea\u05df \u05dc\u05dc\u05d7\u05d5\u05e5 \u05e2\u05dc &quot;CC&quot; \u05dc\u05e7\u05d1\u05dc\u05ea \u05db\u05ea\u05d5\u05d1\u05d9\u05d5\u05ea)<\/h4>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<iframe loading=\"lazy\" width=\"700\" height=\"393.75\" src=\"https:\/\/www.youtube.com\/embed\/33XFUPVwEAo\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<p><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"has-background wp-block-heading\" style=\"background-color:#dbf5e9\"><em>\u05e0\u05d9\u05ea\u05df \u05dc\u05e4\u05e0\u05d5\u05ea \u05d0\u05dc\u05d9\u05e0\u05d5 \u05dc\u05e7\u05d1\u05dc\u05ea \u05e1\u05d1\u05d9\u05d1\u05ea \u05d4\u05ea\u05e0\u05e1\u05d5\u05ea \u05d0\u05d5 \u05dc\u05e7\u05d1\u05dc \u05e8\u05e9\u05d9\u05d5\u05df \u05d6\u05de\u05e0\u05d9 \u05dc\u05d4\u05ea\u05e0\u05e1\u05d5\u05ea \u05e2\u05dc \u05d4\u05e1\u05d1\u05d9\u05d1\u05d4 \u05e9\u05dc\u05db\u05dd:<\/em> <br><a href=\"mailto:gitlab@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">gitlab@almtoolbox.com<\/a> \u05d0\u05d5 072-240-5222<\/h4>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u05e7\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9\u05dd:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05de\u05d0\u05de\u05e8: <a href=\"https:\/\/www.almtoolbox.com\/blog\/gitlab-code-review-white-paper\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05e1\u05e7\u05d9\u05e8\u05ea \u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05d4- Code Review \u05d1- GitLab<\/a><\/li>\n\n\n\n<li>\u05d0\u05ea\u05e8 <a href=\"https:\/\/www.almtoolbox.com\/il\/gitlab\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab \u05d9\u05e9\u05e8\u05d0\u05dc (\u05e2\u05d1\u05e8\u05d9\u05ea)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/code_owners.html\" target=\"_blank\" rel=\"noreferrer noopener\">\u05de\u05d9\u05d3\u05e2 \u05d8\u05db\u05e0\u05d9 \u05e0\u05d5\u05e1\u05e3<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u05d1\u05de\u05d0\u05de\u05e8 \u05d4\u05d1\u05d0 \u05d9\u05d5\u05e1\u05d1\u05e8 \u05e2\u05dc \u05d4\u05d9\u05db\u05d5\u05dc\u05ea \u05e9\u05dc &quot;Code Owners&quot; \u05e2\u05dd \u05d4\u05d3\u05d2\u05de\u05d5\u05ea \u05d5\u05e7\u05d9\u05e9\u05d5\u05e8 \u05dc\u05de\u05d9\u05d3\u05e2 \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9 \u05e0\u05d5\u05e1\u05e3 \u05e2\u05d3\u05db\u05d5\u05df \u05d0\u05d7\u05e8\u05d5\u05df: 1\/1\/2023 Code Owners \u05d6\u05d5 \u05d0\u05d7\u05ea \u05d4\u05ea\u05db\u05d5\u05e0\u05d5\u05ea \u05d4\u05d7\u05d6\u05e7\u05d5\u05ea \u05d1- GitLab \u05d1\u05d4\u05e7\u05e9\u05e8 \u05dc- Source Control \u05d5- Code Review.\u05d9\u05db\u05d5\u05dc\u05ea \u05d6\u05d5 \u05e0\u05de\u05e6\u05d0\u05ea \u05db\u05d9\u05d5\u05dd \u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea Premium \u05d5- Ultimate (\u05d4\u05d9\u05ea\u05d4 \u05d1\u05e2\u05d1\u05e8 \u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05ea Starter \u05e9\u05d1\u05d5\u05d8\u05dc\u05d4 \u05d1\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 2021). Code Owners \u05de\u05d2\u05d3\u05d9\u05e8\u05d4 \u05de\u05d9 \u05d9\u05d5\u05d2\u05d3\u05e8 \u05db\u05d0\u05d7\u05e8\u05d0\u05d9 \u05e2\u05dc \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5\u05ea\u05d7\u05d6\u05d5\u05e7\u05d4 [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[111,112],"tags":[723,721,722],"class_list":["post-8569","post","type-post","status-publish","format-standard","hentry","category-gitlab","category-gitlab-ci","tag-approval-rules","tag-code-owners","tag-code-review-2"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/8569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/comments?post=8569"}],"version-history":[{"count":33,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/8569\/revisions"}],"predecessor-version":[{"id":8615,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/8569\/revisions\/8615"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media?parent=8569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/categories?post=8569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/tags?post=8569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}