SonarQube | SonarCloud | SonarLint – DevOps + Security + QA (Công cụ mã nguồn mở được sử dụng rộng rãi nhất)
SonarQube là nền tảng mã nguồn mở hàng đầu để kiểm tra chất lượng mã nguồn liên tục. Nó thực hiện đánh giá mã tự động bằng cách sử dụng phân tích mã tĩnh để phát hiện lỗi (bugs), mã xấu (code smells), lỗ hổng bảo mật và các vấn đề về khả năng bảo trì trên hơn 27 ngôn ngữ lập trình. Khóa học này được thiết kế theo phương pháp học đi đôi với hành, giúp bạn đạt được kiến thức chuyên sâu và thực tế về SonarQube và hệ sinh thái của nó.
Đối tượng học viên:
Khóa học này phù hợp cho: Sinh viên mới ra trường, Lập trình viên, Quản lý dự án, Kiến trúc sư phần mềm, Kỹ sư QA, Kỹ sư hỗ trợ, DevOps, DevSecOps, InfoSec và Kỹ sư quy trình muốn làm chủ chất lượng mã nguồn, bảo mật và các thực hành tốt nhất về CI/CD.
Nguyên lý cơ bản & Khái niệm
Giới thiệu về SonarQube, SonarCloud và SonarLint
Mục đích và lợi ích của phân tích mã tĩnh
Hiểu các trường hợp sử dụng (use cases) trong DevOps & DevSecOps
Kiến trúc, các phiên bản (editions), version và hệ sinh thái của SonarQube
Các thuật ngữ và chỉ số (metrics) cốt lõi của SonarQube
Các khái niệm về Khả năng bảo trì, Độ tin cậy và Bảo mật
Cài đặt & Thiết lập
Cài đặt và thiết lập SonarQube bằng Docker & Docker-Compose
Cài đặt và cấu hình Jenkins
Cài đặt & cấu hình Sonar Scanner
Thiết lập các công cụ build:
Ant, Maven, Gradle
NodeJS, Python
Tổng quan về giao diện người dùng (UI) và điều hướng trong SonarQube
Thực hành phân tích mã nguồn
Đưa dự án vào SonarQube & các đường ống (pipelines) CI
Chạy phân tích mã cho nhiều ngôn ngữ lập trình
Công bố và giải thích kết quả phân tích
Báo cáo độ bao phủ mã (code coverage), kết quả kiểm thử đơn vị (unit test) và kiểm thử tích hợp (integration test)
Hiểu và phân tích:
Lỗi (Bugs)
Lỗ hổng bảo mật (Vulnerabilities)
Mã xấu (Code Smells)
Nợ kỹ thuật (Technical Debt)
Độ phức tạp (Complexity)
Các dòng, tệp và khối mã bị trùng lặp
Tích hợp SonarLint & IDE
Cài đặt SonarLint trong:
Eclipse
IntelliJ IDEA
VS Code
Cấu hình chế độ kết nối (Connected Mode) của SonarLint
Phân tích mã thời gian thực và phát hiện vấn đề ngay trong IDE
Quản lý chất lượng
Quality Gates (Ngưỡng chất lượng) và Quality Profiles (Hồ sơ chất lượng)
Tạo và quản lý các quy tắc tùy chỉnh (custom rules) & mẫu quy tắc (rule templates)
Áp dụng các tiêu chuẩn chất lượng cho các nhóm
Đánh dấu build thất bại dựa trên các điều kiện của Quality Gate
Xử lý và khắc phục các vấn đề đã được xác định
Quản trị & Cấu hình
Quản trị dự án
Quản lý người dùng, nhóm, quyền hạn và token
Cài đặt và quản lý plugin
Cấu hình bảo mật cho SonarQube
Cấu hình SMTP và thông báo qua email
Tùy chỉnh giao diện SonarQube với logo công ty
SonarQube Marketplace & chi tiết hệ thống
Bảo mật & SAST
Nguyên lý cơ bản về SAST (Kiểm thử bảo mật ứng dụng tĩnh)
Phân tích lỗ hổng bảo mật
Tích hợp SAST vào đường ống CI/CD
Tích hợp CI/CD & DevOps
Tích hợp với Jenkins (Jobs & Pipelines)
Tích hợp với GitHub & GitHub Actions
Tích hợp với GitLab & GitLab CI/CD
Tự động hóa kiểm tra chất lượng trong quy trình CI/CD
Dừng đường ống CI/CD dựa trên Quality Gates của SonarQube
Các chủ đề nâng cao
Sử dụng SonarQube Web API để tự động hóa, giám sát và trích xuất dữ liệu
Các thực hành tốt nhất cho việc triển khai SonarQube quy mô doanh nghiệp
Sau khi kết thúc khóa học này, bạn sẽ có thể:
Định nghĩa và quản lý Quality Gates, Quality Profiles và các Quy tắc (Rules)
Phân tích mã cục bộ bằng SonarLint
Thực hiện phân tích mã tĩnh an toàn và có khả năng mở rộng
Tích hợp SonarQube với GitHub, GitLab và Jenkins
Áp dụng các tiêu chuẩn chất lượng mã và bảo mật trong các đường ống CI/CD
Tự tin quản trị và tùy chỉnh một phiên bản (instance) SonarQube