{"id":12413,"date":"2025-07-30T15:22:33","date_gmt":"2025-07-30T12:22:33","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog_he\/?p=12413"},"modified":"2025-08-17T15:22:51","modified_gmt":"2025-08-17T12:22:51","slug":"sonarqube-gitlab-integration","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog_he\/sonarqube-gitlab-integration\/","title":{"rendered":"\u05dc\u05de\u05d4 \u05e6\u05d5\u05d5\u05ea\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e9\u05dc\u05d1\u05d9\u05dd \u05d0\u05ea SonarQube \u05d5-GitLab \u200e ?"},"content":{"rendered":"\n<p><br>\u05d1\u05de\u05d4\u05dc\u05da \u05d4\u05e9\u05e0\u05d9\u05dd \u05e1\u05d9\u05d9\u05e2\u05e0\u05d5 \u05dc\u05e6\u05d5\u05d5\u05ea\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05e8\u05d1\u05d9\u05dd \u05dc\u05e9\u05dc\u05d1 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4 \u05d0\u05ea SonarQube \u05e2\u05dd GitLab \u05d5\u05dc\u05d4\u05e4\u05d9\u05e7 \u05d0\u05ea \u05d4\u05de\u05e8\u05d1 \u05de\u05e9\u05ea\u05d9 \u05d4\u05e4\u05dc\u05d8\u05e4\u05d5\u05e8\u05de\u05d5\u05ea.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"164\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2025\/08\/gitlab-sonarqube-1024x164.jpg\" alt=\"\" class=\"wp-image-12414\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2025\/08\/gitlab-sonarqube-1024x164.jpg 1024w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2025\/08\/gitlab-sonarqube-300x48.jpg 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2025\/08\/gitlab-sonarqube-768x123.jpg 768w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2025\/08\/gitlab-sonarqube-1536x245.jpg 1536w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2025\/08\/gitlab-sonarqube.jpg 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u05dc\u05d0\u05d5\u05e8\u05da \u05d4\u05d6\u05de\u05df, \u05e8\u05d0\u05d9\u05e0\u05d5 \u05de\u05e1\u05e4\u05e8 \u05ea\u05e8\u05d7\u05d9\u05e9\u05d9 \u05e9\u05d9\u05de\u05d5\u05e9 \u05e0\u05e4\u05d5\u05e6\u05d9\u05dd \u05e9\u05d1\u05d4\u05dd \u05e6\u05d5\u05d5\u05ea\u05d9\u05dd \u05de\u05e8\u05d5\u05d5\u05d9\u05d7\u05d9\u05dd \u05de\u05d4\u05d7\u05d9\u05d1\u05d5\u05e8 \u05d1\u05d9\u05df \u05e9\u05e0\u05d9 \u05d4\u05db\u05dc\u05d9\u05dd.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05d4\u05e0\u05d4 \u05db\u05de\u05d4 \u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u05de\u05d9\u05de\u05d5\u05e9 &quot;Shift Left&quot; \u05d1\u05d6\u05de\u05df \u05d4\u05de\u05d9\u05d6\u05d5\u05d2:<\/strong>\u00a0\u05dc\u05ea\u05e4\u05d5\u05e1 \u05d0\u05ea \u05d4\u05d1\u05d0\u05d2\u05d9\u05dd \u05db\u05e9\u05d4\u05dd \u05e2\u05d5\u05d3 \u05e7\u05d8\u05e0\u05d9\u05dd \u05d5\u05d8\u05e8\u05d9\u05d9\u05dd:<br>\u05d4\u05e6\u05d2\u05ea \u05d1\u05d0\u05d2\u05d9\u05dd \u05d7\u05d3\u05e9\u05d9\u05dd, \u05d1\u05e2\u05d9\u05d5\u05ea \u05d0\u05d1\u05d8\u05d7\u05d4, \u05e7\u05d9\u05d8\u05d5\u05df \u05d1\u05db\u05d9\u05e1\u05d5\u05d9 \u05d4\u05e7\u05d5\u05d3 (coverage) \u05d5\u05e0\u05ea\u05d5\u05e0\u05d9 \u05d0\u05d9\u05db\u05d5\u05ea \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05d1\u05db\u05dc \u05d1\u05e7\u05e9\u05ea \u05de\u05d9\u05d6\u05d5\u05d2 (Merge Request &#8211; MR).<\/li>\n\n\n\n<li><strong>\u05d1\u05e7\u05e8\u05d4\u00a0\u05db\u05d7\u05dc\u05e7 \u05de\u05ea\u05d4\u05dc\u05d9\u05da CI\/CD:<\/strong>\u00a0\u05d2\u05e8\u05d9\u05de\u05d4 \u05dc\u05db\u05d9\u05e9\u05dc\u05d5\u05df \u05e9\u05dc \u05d4-pipeline (\u05d0\u05d5 \u05d1\u05d3\u05d9\u05e7\u05d5\u05ea \u05e1\u05d8\u05d8\u05d5\u05e1 \u05d7\u05d9\u05e6\u05d5\u05e0\u05d9\u05d5\u05ea) \u05db\u05d0\u05e9\u05e8 \u05d4 &#8211; Quality\u00a0gate \u05d0\u05d3\u05d5\u05dd (\u05de\u05ea\u05d7\u05ea \u05dc\u05e8\u05e3 \u05d4\u05d0\u05d9\u05db\u05d5\u05ea \u05d4\u05de\u05d9\u05e0\u05d9\u05de\u05dc\u05d9 \u05e9\u05e7\u05d1\u05e2\u05e0\u05d5), \u05db\u05d3\u05d9 \u05dc\u05d4\u05d1\u05d8\u05d9\u05d7 \u05e9\u05e8\u05e7 \u05e7\u05d5\u05d3 \u05e0\u05e7\u05d9 \u05d5\u05de\u05d0\u05d5\u05d1\u05d8\u05d7 \u05de\u05d2\u05d9\u05e2 \u05dc\u05e2\u05e0\u05e3 \u05d4\u05e8\u05d0\u05e9\u05d9 (main branch).<\/li>\n\n\n\n<li><strong>\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1- GitLab SSO, \u05e1\u05e0\u05db\u05e8\u05d5\u05df \u05e7\u05d1\u05d5\u05e6\u05d5\u05ea \u05d5\u05ea\u05d0\u05d9\u05de\u05d5\u05ea (compliance):<\/strong>\u00a0\u05e9\u05d9\u05de\u05d5\u05e9 \u05d7\u05d5\u05d6\u05e8 \u05d1-OAuth \u05e9\u05dc GitLab, \u05d4\u05d9\u05e8\u05e8\u05db\u05d9\u05d9\u05ea \u05d4\u05e7\u05d1\u05d5\u05e6\u05d5\u05ea \u05d5\u05d0\u05d9\u05e8\u05d5\u05e2\u05d9 \u05d1\u05d9\u05e7\u05d5\u05e8\u05ea (audit events) \u05d1\u05ea\u05d5\u05da SonarQube.<\/li>\n\n\n\n<li><strong>\u05d3\u05e9\u05d1\u05d5\u05e8\u05d3\u05d9\u05dd \u05dc\u05e0\u05d9\u05d4\u05d5\u05dc \u05e4\u05d5\u05e8\u05d8\u05e4\u05d5\u05dc\u05d9\u05d5 \u05d5\u05ea\u05d0\u05d9\u05de\u05d5\u05ea:<\/strong>\u00a0\u05d9\u05d9\u05d1\u05d5\u05d0 \u05de\u05d0\u05d2\u05e8\u05d9 \u05e7\u05d5\u05d3 (repos) \u05de-GitLab \u05d0\u05dc SonarQube \u05e2\u05d1\u05d5\u05e8 \u05d3\u05d9\u05d5\u05d5\u05d7 \u05e2\u05dc &quot;\u05d1\u05e8\u05d9\u05d0\u05d5\u05ea \u05d4\u05e7\u05d5\u05d3&quot; (code health) \u05e2\u05d1\u05d5\u05e8 \u05d4\u05d4\u05e0\u05d4\u05dc\u05d4 \u05d5\u05de\u05e0\u05d4\u05dc\u05d9 \u05d4\u05e4\u05d9\u05ea\u05d5\u05d7.<\/li>\n\n\n\n<li><strong>\u05de\u05d9\u05d5\u05df \u05d5\u05d8\u05d9\u05e4\u05d5\u05dc \u05d1\u05e4\u05d2\u05d9\u05e2\u05d5\u05d9\u05d5\u05ea \u05d0\u05d1\u05d8\u05d7\u05d4 \u05d1-GitLab:<\/strong>\u00a0\u05e9\u05dc\u05d9\u05d7\u05ea \u05de\u05de\u05e6\u05d0\u05d9 SAST \u05e9\u05dc SonarQube \u05d0\u05dc \u05d3\u05d5\u05d7 \u05d4\u05e4\u05d2\u05d9\u05e2\u05d5\u05d9\u05d5\u05ea (Vulnerability Report) \u05e9\u05dc GitLab, \u05db\u05da \u05e9\u05e6\u05d5\u05d5\u05ea\u05d9 \u05d0\u05d1\u05d8\u05d7\u05ea \u05d4\u05d9\u05d9\u05e9\u05d5\u05de\u05d9\u05dd (AppSec) \u05de\u05ea\u05e0\u05d4\u05dc\u05d9\u05dd \u05de\u05d5\u05dc \u05de\u05e7\u05d5\u05e8 \u05d0\u05d7\u05d3 \u05d5\u05ea\u05d5\u05e8 \u05d0\u05d7\u05d3.<\/li>\n<\/ol>\n\n\n\n<p>\u05d7\u05dc\u05e7 \u05de\u05d4\u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05d4\u05dc\u05dc\u05d5 \u05d3\u05d5\u05e8\u05e9\u05d5\u05ea \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d1\u05ea\u05e9\u05dc\u05d5\u05dd &#8211; \u05d5\u05d0\u05d7\u05e8\u05d5\u05ea \u05dc\u05d0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05d4\u05d0\u05dd \u05d0\u05d7\u05d3 \u05de\u05d4\u05ea\u05e8\u05d7\u05d9\u05e9\u05d9\u05dd \u05d4\u05d0\u05dc\u05d4 \u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05d5\u05e2\u05d9\u05dc \u05dc\u05e6\u05d5\u05d5\u05ea \u05e9\u05dc\u05da?<\/h3>\n\n\n\n<p>\u05e0\u05d9\u05ea\u05df \u05dc\u05e7\u05e8\u05d5\u05d0 \u05d1\u05ea\u05d9\u05e2\u05d5\u05d3 (docs) \u05e9\u05dc SonarQube \u05d5-GitLab \u05db\u05d9\u05e6\u05d3 \u05dc\u05e9\u05dc\u05d1 \u05d1\u05d9\u05df \u05d4\u05e9\u05e0\u05d9\u05d9\u05dd.<\/p>\n\n\n\n<p>\u05e6\u05e8\u05d9\u05db\u05d9\u05dd \u05e2\u05d6\u05e8\u05d4 \u05d1\u05d4\u05d2\u05d3\u05e8\u05d4, \u05d0\u05d5 \u05ea\u05d5\u05d4\u05d9\u05dd \u05d4\u05d0\u05dd \u05e0\u05d3\u05e8\u05e9 \u05e8\u05d9\u05e9\u05d9\u05d5\u05df?<br>\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e4\u05e0\u05d5\u05ea \u05d0\u05dc\u05d9\u05e0\u05d5 &#8211; \u05e0\u05e9\u05de\u05d7 \u05dc\u05e2\u05d6\u05d5\u05e8.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#c4e8ff\"><em>\u05d7\u05d1\u05e8\u05ea ALM Toolbox \u05d4\u05d9\u05d0 \u05d4\u05e0\u05e6\u05d9\u05d2\u05d4 \u05d4\u05e8\u05e9\u05de\u05d9\u05ea (\u05d4\u05d9\u05d7\u05d9\u05d3\u05d4) \u05e9\u05dc \u05d7\u05d1\u05e8\u05ea Sonar \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc \u05d5\u05d1\u05de\u05d3\u05d9\u05e0\u05d5\u05ea \u05e0\u05d5\u05e1\u05e4\u05d5\u05ea,<br>\u05d5\u05d1\u05e2\u05dc\u05ea \u05e0\u05e1\u05d9\u05d5\u05df \u05e8\u05d1 \u05d1\u05de\u05d5\u05e6\u05e8 \u05d4\u05df \u05d1\u05e6\u05d3 \u05d4\u05de\u05e7\u05e6\u05d5\u05e2\u05d9\/\u05d8\u05db\u05e0\u05d5\u05dc\u05d5\u05d2\u05d9 \u05d5\u05d4\u05df \u05d1\u05e6\u05d3 \u05d4\u05de\u05e1\u05d7\u05e8\u05d9 (\u05de\u05db\u05d9\u05e8\u05ea \u05e8\u05d9\u05e9\u05d5\u05d9 \u05d5\u05d4\u05ea\u05e0\u05d4\u05dc\u05d5\u05ea \u05e0\u05db\u05d5\u05e0\u05d4 \u05d5\u05d7\u05e1\u05db\u05d5\u05e0\u05d9\u05ea \u05e2\u05dd \u05e8\u05e9\u05d9\u05d5\u05e0\u05d5\u05ea \u05d4\u05de\u05d5\u05e6\u05e8).<br>\u05d4\u05d7\u05d1\u05e8\u05d4 \u05de\u05e6\u05d9\u05e2\u05d4 \u05de\u05d2\u05d5\u05d5\u05df \u05e4\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea \u05e8\u05d7\u05d1 \u05e1\u05d1\u05d9\u05d1 \u05d4\u05de\u05d5\u05e6\u05e8, \u05db\u05d5\u05dc\u05dc \u05ea\u05db\u05e0\u05d5\u05df \u05d5\u05d4\u05e7\u05de\u05ea \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea, \u05e9\u05d9\u05e8\u05d5\u05ea \u05de\u05e0\u05d5\u05d4\u05dc\u05d9\u05dd \u05e2\u05dc \u05e2\u05e0\u05df \u05e4\u05e8\u05d8\u05d9, \u05d9\u05e2\u05d5\u05e5, \u05de\u05db\u05d9\u05e8\u05ea \u05e8\u05d9\u05e9\u05d5\u05d9, \u05d7\u05d9\u05d1\u05d5\u05e8 \u05dc\u05db\u05dc\u05d9\u05dd \u05de\u05e9\u05dc\u05d9\u05de\u05d9\u05dd<\/em><br><em>(\u05db\u05d2\u05d5\u05df GitHub, GitLab, Jenkins, Bitbucket, Azure DevOps, Docker, Kubernetes, OpenShift), \u05d4\u05d3\u05e8\u05db\u05d5\u05ea \u05d5\u05e2\u05d5\u05d3.<br><strong>\u05dc\u05e4\u05e8\u05d8\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd \u05e6\u05e8\u05d5 \u05e7\u05e9\u05e8:\u00a0<a href=\"mailto:sonarqube@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">sonarqube@almtoolbox.com<\/a>\u00a0\u05d0\u05d5 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9\u05ea: 072-240-5222<\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u05d1\u05de\u05d4\u05dc\u05da \u05d4\u05e9\u05e0\u05d9\u05dd \u05e1\u05d9\u05d9\u05e2\u05e0\u05d5 \u05dc\u05e6\u05d5\u05d5\u05ea\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05e8\u05d1\u05d9\u05dd \u05dc\u05e9\u05dc\u05d1 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4 \u05d0\u05ea SonarQube \u05e2\u05dd GitLab \u05d5\u05dc\u05d4\u05e4\u05d9\u05e7 \u05d0\u05ea \u05d4\u05de\u05e8\u05d1 \u05de\u05e9\u05ea\u05d9 \u05d4\u05e4\u05dc\u05d8\u05e4\u05d5\u05e8\u05de\u05d5\u05ea. \u05dc\u05d0\u05d5\u05e8\u05da \u05d4\u05d6\u05de\u05df, \u05e8\u05d0\u05d9\u05e0\u05d5 \u05de\u05e1\u05e4\u05e8 \u05ea\u05e8\u05d7\u05d9\u05e9\u05d9 \u05e9\u05d9\u05de\u05d5\u05e9 \u05e0\u05e4\u05d5\u05e6\u05d9\u05dd \u05e9\u05d1\u05d4\u05dd \u05e6\u05d5\u05d5\u05ea\u05d9\u05dd \u05de\u05e8\u05d5\u05d5\u05d9\u05d7\u05d9\u05dd \u05de\u05d4\u05d7\u05d9\u05d1\u05d5\u05e8 \u05d1\u05d9\u05df \u05e9\u05e0\u05d9 \u05d4\u05db\u05dc\u05d9\u05dd. \u05d4\u05e0\u05d4 \u05db\u05de\u05d4 \u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea: \u05d7\u05dc\u05e7 \u05de\u05d4\u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05d4\u05dc\u05dc\u05d5 \u05d3\u05d5\u05e8\u05e9\u05d5\u05ea \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d1\u05ea\u05e9\u05dc\u05d5\u05dd &#8211; \u05d5\u05d0\u05d7\u05e8\u05d5\u05ea \u05dc\u05d0. \u05d4\u05d0\u05dd \u05d0\u05d7\u05d3 \u05de\u05d4\u05ea\u05e8\u05d7\u05d9\u05e9\u05d9\u05dd \u05d4\u05d0\u05dc\u05d4 \u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05d5\u05e2\u05d9\u05dc \u05dc\u05e6\u05d5\u05d5\u05ea \u05e9\u05dc\u05da? \u05e0\u05d9\u05ea\u05df \u05dc\u05e7\u05e8\u05d5\u05d0 \u05d1\u05ea\u05d9\u05e2\u05d5\u05d3 (docs) [&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,367],"tags":[984,985,982],"class_list":["post-12413","post","type-post","status-publish","format-standard","hentry","category-gitlab","category-sonarqube","tag-gitlab-sso","tag-quality-gates-2","tag-shift-left-2"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/12413","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=12413"}],"version-history":[{"count":1,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/12413\/revisions"}],"predecessor-version":[{"id":12415,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/12413\/revisions\/12415"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media?parent=12413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/categories?post=12413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/tags?post=12413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}