1. SonarQube là gì?
SonarQubelà một nền tảng mã nguồn mở được phát triển bởi SonarSource để liên tục kiểm tra chất lượng code, review tự động với việc phân tích code để phát hiện lỗi, đoạn code không tốt, hoặc lỗ hổng bảo mật trên 20 ngôn ngữ lập trình.Sonarqube hiện hỗ trợ các ngôn ngữ lập trình sau: Java (including Android), C#, Go, PHP, JavaScript, C/C++, COBOL, PL/SQL, PL/I, ABAP, VB.NET, VB6, Python, RPG, Flex, Objective-C, Swift, Web and XML.Nó được tích hợp vào công cụ phát triển Eclipse, Visual Studio, IntelliJ IDEA thông qua plugin SonarLint và tích hợp với các công cụ khác như LDAP, Active Directory, GitHub….Bài này mình sẽ hướng dẫn các bạn tích hợp vào hệ thống quản lý code với docker, bên mình đang thực hiện để quản lý chất lượng đầu ra sản phẩm
Màn hình hiển thị kết quả quét của Sonar qube
2. Cài đặt SonarQube
Bên mình sử dụng Linux server cho sonar page, và máy window (máy mình) cho sonar scannerCác bạn tải về SonarQube tại đây: https://www.sonarqube.org/downloads/
2.1. Cấu hình yêu cầu cho Sonar scanner
Tối thiểu 2GB RAMDung lượng ổ cứng phụ thuộc vào khối lượng code mà bạn sử dụng SonarQube phân tíchỔ cứng có I/O tốt
2.2.
Đang xem: Sonarqube là gì, sonarqube: code quality and security, trị code thúi với sonarqube
Xem thêm: Tiêm Bolus Là Gì – Nghĩa Của Từ Bolus
Xem thêm: Trap Boi Là Gì – Trap Boy, Trap Girl Là Như Thế Nào
Cài đặtSonar page với docker swarm
Ở đây mình sẽ setup stack cho docker để run automation. Để hiểu rõ hơn về docker stack eco, các bạn vui lòng tham khảo bài viết trước của mình về docker và traefikỞ đây mình sẽ sử dụng sonarqube phiên bản 8.2 community, mình sẽ sử dụng postgres làm database cho website
version: “3”services: sonarqube: image: sonarqube:8.2-community ports: – “9000:9000” networks: – backend – proxy command: -Dsonar.ce.javaOpts=-Xmx1192m -Dsonar.web.javaOpts=-Xmx1192m environment: – SONARQUBE_JDBC_URL=jdbc: đường dẫn đến database – SONARQUBE_JDBC_USERNAME=tên đăng nhập mặc định cho sonar – SONARQUBE_JDBC_PASSWORD=mật khẩu cho sonar depends_on: – postgres volumes: – sonarqube_data:/opt/sonarqube/data – sonarqube_extensions:/opt/sonarqube/extensions – sonarqube_logs:/opt/sonarqube/logs – sonarqube_temp:/opt/sonarqube/temp deploy: labels: – “traefik.enable=true” – “traefik.http.routers.sonar.entrypoints=web” – “traefik.http.routers.sonar.tls=false” – “traefik.http.routers.sonar.rule=Host(`sonar.gocnhintangphat.com`)” postgres: image: postgres ports: – “5432:5432” networks: – backend environment: – POSTGRES_USER= username – POSTGRES_PASSWORD= mật khẩu – POSTGRES_DB= mật khẩu DB volumes: – postgresql:/var/lib/postgresql # This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52 – postgresql_data:/var/lib/postgresql/datanetworks: backend: external: true proxy: external: truevolumes: sonarqube_data: sonarqube_extensions: sonarqube_logs: sonarqube_temp: postgresql: postgresql_data:Các bạn chú ý mật khẩu của sonar khi truy xuất phải trùng với mật khẩu postgres ở dưới nhé
3. Hướng dẫn sử dụngSonarQube
Bước 1: Click vào “Login” và sử dụng tài khoản mặc định “admin” với password “admin” để đăng nhập
Bước 2: Điền tên của Project của bạn để tạo project và token
Nhập tên project
Nhập token trùng với tên projectBước 3: Chọn ngôn ngữ và scanner– Chọn hệ điều hành, ở đây mình sẽ chọn windown vì scanner mình nằm trên window (máy của mình),-Tiếp theo các bạn copy đoạn code ở dưới và tạo file bat trong thư mục code của các bạn
Việc tiếp theo khá easy các bạn chỉ việc run code_quality.bat và ngồi đợi. Lưu ý máy bạn phải được cài sẵn sonar scanner mới run được hen.Chúc bạn thành công!