SonarQube

Hướng dẫn cài đặt SonarQube – Công cụ test code

Sonarqube là công cụ giúp lập trình viên kiểm tra code của mình đã tốt chưa, nếu có bất kì lỗi nào vi phạm hay có nguy cơ vi phạm nguyên tắc (chuẩn chung) thì nó sẽ giúp ta cảnh báo và đưa ra suggest để sửa, dần dần trong quá trình code mình sẽ hình thành thói quen và không mắc lỗi nữa.

Bước 1: Tải các package hỗ trợ
Tải sonarqube
Tải sonarqube-scanner
Yêu cầu máy phải cài đặt JDK
Giải nén tất cả và copy thư mục vào ổ C.

Bước 2:
Vào trong thư mục C:\sonarqube\bin\windows-x86-64, tìm và chạy file StartSonar.bat để bật server sonarqube lên. Sau khi chạy thành công thì vẫn để cửa sổ chứ không được tắt.

Lưu ý: nếu hệ điều hành của 32 bit thì vô windows-x86-32 thay vì vô windows-x86-64.

Bước 3:
add sonarqube-scanner vào PATH
Vào Control Panel chọn System chọn tiếp Advanced system settings
Trong Block System variables tìm đến phần Path và thêm mới đường dẫn đến thư mục bin trong foler sonarqube-scanner ở đây là C:\sonar-scanner-3.0.3.778\bin
Làm theo như ảnh trên

sau khi hoàn tất mở Cmd và gõ command sonar-scanner -h (hoặc sonar-scanner.bat -h) . nếu ra như sau thì là ok:

usage: sonar-scanner [options]

Options:
-D,–define Define property
-h,–help Display help information
-v,–version Display version information
-X,–debug Produce execution debug output

Bước 4:
Tạo 1 file config có tên là sonar-project.properties và có nội dung như sau

# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=My project
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace “\” by “/” on Windows.
# This property is optional if sonar.modules is set.
sonar.sources=.

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

Copy file này vào thư mục root của project cần test.
Mở file này lên và edit phần sonar.sources chỉ vào file cần test VD :

sonar.sources=lib/cakephp/FrontEnd/Controller/MatchingController.php.

Ngoài ra có thể để sonar quét toàn bộ project. Chỉ cần ở sonar.sources lùi lại đến thư mục root để quét

Bước 5:
Vào trình duyệt gõ localhost:9000, đăng nhập vào với ID/password lần lượt là admin/admin.

Chọn Administration, vào mục System và chọn Update Center. Việc tiếp theo cần làm là tìm và cài đặt gói ngôn ngữ cần test. Sonarqube đã cài sẵn một số gói tại mục Installed, nhưng chưa có PHP nên ta cài PHP. sau đó restart server

Bước 6:
Tiếp theo mở command line và cd đến thư mục root của dự án (nơi bạn đã paste file sonar-project.properties lúc nãy). Chạy lệnh sonar-scanner để chương trình test lỗi. Nếu trong quá trình chạy không báo lỗi gì thì ta đã thành công việc phân tích lỗi.

Sau cùng là vào lại localhost:9000, vào mục Issues chọn Unresoved Isues. Một danh sách các lỗi với các thuộc tính lỗi như Code Smell, Bug hoặc Vulnerability hiện ra. Từ đây có thể xem được lỗi và gợi ý fix lỗi, ngoài ra còn xem được dòng nào do ai code nếu project có dùng svn hoặc là git.