เหมือน “ครูภาษาไทย / คณิตศาสตร์ / ภาษาอังกฤษ” ที่คอยตรวจการบ้านเพื่อให้แน่ใจว่างานของคุณ สะอาด เป็นระเบียบ และไม่มีจุดบกพร่องในระยะยาว ครับ
SonarQube เป็นแพลตฟอร์มแบบ Open-platform สำหรับการทำ Static Application Security Testing และตรวจวัด Code Quality โดยอัตโนมัติ
📊 4 เสาหลักที่ SonarQube ตรวจสอบ
- Bugs: ตรวจหาข้อผิดพลาดทาง Logic ที่อาจทำให้โปรแกรมพัง
- Vulnerabilities: ตรวจหาช่องโหว่ด้านความปลอดภัยเบื้องต้น
- Code Smells: ตรวจหาโค้ดที่ “อ่านยาก” หรือ “ดูแลยาก” เช่น ฟังก์ชันที่ยาวเกินไป หรือตัวแปรที่ประกาศไว้แต่ไม่ได้ใช้
- Security Hotspots: ชี้จุดที่ดู “น่าสงสัย” ในเชิงความปลอดภัย เพื่อให้ Developer เข้ามาตรวจสอบด้วยตัวเอง
💡 ฟีเจอร์เด่นที่ขาดไม่ได้
- Code Coverage: บอกเราว่า Unit Test ที่เขียนไปนั้นครอบคลุม Source Code กี่เปอร์เซ็นต์
- Duplications: ตรวจสอบว่ามีการ Copy-Paste โค้ดซ้ำ ๆ หรือไม่ เพื่อลดความซ้ำซ้อน
- Quality Gate: เป็นการตั้ง “เกณฑ์มาตรฐาน” หากไม่ผ่านเกณฑ์นี้ SonarQube จะไม่อนุญาตให้ Merge Code หรือผ่าน Pipeline
- Multi-Language: รองรับมากกว่า 30 ภาษา
🔄 ความแตกต่างระหว่าง Trivy vs SonarQube
เพื่อให้เห็นภาพชัดเจนในสายงาน DevSecOps
| คุณลักษณะ | Trivy | SonarQube |
| จุดเน้นหลัก | Infrastructure & Security | Application Code Quality |
| สิ่งที่สแกน | Docker Image, Packages, IaC, Secret | Source Code |
| ความเร็ว | เร็วมาก | ช้ากว่า |
| การใช้งาน | ป้องกันช่องโหว่ภายนอกและ Misconfig | ป้องกันหนี้ทางเทคนิค |
🛠️ ตัวอย่างการนำไปใช้
ในฐานะที่คุณทำงานด้าน System Analyst และ Developer คุณอาจเห็น Workflow นี้ในองค์กร
- Developer เขียนโค้ดและ Push ขึ้น Git
- SonarQube Scan ทำงานเพื่อตรวจความสะอาดของโค้ด
- Build Image และใช้ Trivy Scan เพื่อตรวจหาช่องโหว่ในระดับ OS และ Library
- ถ้าผ่านทั้งคู่ ถึงจะอนุญาตให้ Deploy ขึ้น Server
สรุปง่ายๆ: อยากให้ระบบ “ปลอดภัย” ใช้ Trivy อยากให้โค้ด “สุขภาพดี” ใช้ SonarQube ครับ
อ่านเพิ่มเติม