0 امتیاز
قبل در برنامه نویسی توسط (0 امتیاز)
ویرایش شده قبل توسط

برای ارتباط بین sonarqube و gitlab اینتگریشن رسمی توصیه شده توسط gitlab وجود ندارد. چگونه می توان این دو را با هم اینتگریت کرد تا نتایج آنالیز کد توسط sonarqube در gitlab قابل دیدن باشد؟

1 پاسخ

0 امتیاز
قبل توسط (0 امتیاز)
ویرایش شده قبل توسط

در حال حاضر به نظر می‌رسد بهترین روش برای تجمیع sonarqube و gitlab، استفاده از پلاگین GitLab است. این پلاگین به راحتی از قسمت marketplace در sonarqube قابل نصب است. پس از نصب، یک قسمت جدید به نام GitLab به sonarqube شما اضافه می‌شود و از آن طریق می‌توانید تنظیمات دلخواهتان را انجام دهید.

با استفاده از این پلاگین، نتایج آنالیز، در gitlab و در ذیل هر کامیت یا merge request قابل مشاهده خواهد بود. هر issue جدیدی که به وجود آمده باشد، به صورت کامنت در داخل کد مشخص خواهد شد (در صورتی در تنظیمات، این عمل را غیرفعال نکرده باشید).

پس از نصب پلاگین، برای مشاهده‌ی نتایج آنالیز در gitlab کافیست مراحل زیر را طی کنید:

  • در sonarqube و در قسمت Administration-->Configuration-->GitLab، مقدار GitLab url باید برابر با آدرس سرور GitLab خودتان قرار داده شود.
  • لازم است یک کاربر به پلاگین معرفی شود تا از طریق و از طرف آن کاربر بتواند در GitLab نتایج تحلیل‌ها را به صورت کامنت درج کند. سپس در gitlab از قسمت Setting پروفایل کاربر، باید یک Access Token ایجاد کرده و مقدار آن را در sonarqube و در متغیر Gitlab User Token کپی کرد.
  • در صورتی که از gitlab-ci استفاده می‌کنید، job زیر را به فایل gitlab-ci.yml. اضافه کنید:
sonarqube_job:
  stage: test
  script:
     - mvn $MAVEN_CLI_OPTS verify sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.analysis.mode=preview  -Dsonar.gitlab.project_id=$CI_PROJECT_ID -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
  • اگر مقدار Dsonar.analysis.mode- برابر با preview باشد، نتایج آنالیز در gitlab قابل مشاهده خواهد بود. در صورتی که می‌خواهید نتایج آنالیز را sonarqube هم بتوانید مشاهده کنید، یک job دیگر مشابه با sonarqube_job و با حذف Dsonar.analysis.mode-، به فایل gitlab-ci.yml. اضافه کنید.

سوالات مشابه

+1 امتیاز
1 پاسخ 580 بازدید
0 امتیاز
1 پاسخ 391 بازدید
0 امتیاز
1 پاسخ 476 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 1.3هزار بازدید
0 امتیاز
2 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 316 بازدید
0 امتیاز
1 پاسخ 497 بازدید
...