Tag Sonar Qube

บันทึกการแก้ไขปัญหา SonarQube Analysis .NET(C#) ทำงานนานน

ต้นเรื่อง ตอนแรกไปซนดู Monitor ของ VM แต่ละตัว แล้วพบว่าทำไม VM ที่มี SonarQube Docker ใช้ CPU / RAM นานปิดปกติ เลยเข้าไปตรวจสอบข้างใน SonarQube พบว่า background analysis task ทำงานนานมากกก ทำไมมันใช้เวลาเพิ่มขึ้นขนาดนั้นนนนนน สิ่งที่แรกสงสัยเลย Size ของ Code ที่เข้ามาเพิ่มครับ ตัว SonarQube มันจะใช้เวลาตรวจตามไฟล์ใหม่ที่ส่งเข้ามาครับ ตอนนี้ลองเข้าไปที่ Measures > Size > New Lines โอ้วเจอไฟล์แปลกที่…

[SonarQube] Fixed Exception in thread “Report about progress of Java XML analyzer” java.lang.OutOfMemoryError: Java heap space

Problem Solution กำหนด Memory ให้ Sonar Scanners เพิ่ม โดยแก้ Environment Variable SONAR_SCANNER_OPTS และกำหนดค่า Xmx ซึ่งเจ้าค่า Xmx = maximum memory allocation pool ของ JAVA ครับ สำหรับการแก้ไขในแต่ละ Environment มี ดังนี้ NOTE: จากที่ลองมา ตัวเลย 512MB ตามที่ Official Doc แนะนำมาไม่เพียงพอ อย่างของผมกำหนดเป็น 4096MB เลย เพราะขนาด Project…

บันทึก SonarQube กับ .NET6

ช่วงนี้เป็นการ Re-Cap งาน Migrate จาก .NET4.7.2 > .NET6 ตัว Blog ช่วงนี้ จะมาแนวๆนี้เยอะหน่อยครับ ^__^ การเตรียมข้อมูล – Test Report – Test Coverage – Sonar Scanner .NET คำสั่งทั้งหมด Reference

ตั้ง Server SonarQube ใหม่ มันไม่ Scan Code ใน Git Sub-Module

หลังจากปิดตัว SonarQube เดิมไป แล้วที่นี้ลอง Setup Version เวอร์ชัน LTS 8.9.9 ล่าสุดไป เมื่อลองใน Jenkins Build และส่งข้อมูลไป ผมแอบสังเกตุว่า ตัวเลขมันดีขึ้นแบบแปลกๆ แต่ Dev ยังไม่ได้ปรับปรุง Code อะไรเพิ่มนะ พอลองมาไล่ดูแล้ว เจอปัญหาจริงๆครับ โดยปัญหา คือ SonarQube ถ้าเอา Project ที่ git ที่มี Sub-Module ขึ้นไป มันจะสแกนเฉพาะตัว Super-Module ไม่สนใจ Sub-Module Solution

[C#] GetHashCode() ไม่เท่ากับ Equals() นะ !!!

black and white piano keys

ช่วงนี้เห็น Rule นึงที่ SonarQube มันแจ้งเตือนมาครับ “Equals(Object)” and “GetHashCode()” should be overridden in pairs ตัว Message มันหมายความว่าอย่างไรกันนะ หลังจากลองดูคำอธิบายอันนี้จะเป็นในมุมของ Security ครับ เค้าตั้งสมมติฐานว่า ถ้า Object A และ B เมื่อเรียก Equals() แล้ว ถ้าเอา Object A และ B เรียกใช้ GetHashCode() มันควรจะได้ผลลัพธ์ที่เหมือนกันครับ เอาง่ายๆ ถ้า A และ…

[PowerShell] มาทำ Line Notify แจ้งข้อมูลคุณภาพของ Code กันดีกว่าครับ

powershell

จริงๆต้องบอกว่าทุกปัญหามันเริ่มต้นจากความขี้เกียจแหละครับ และช่วงหลังๆสำหรับหน่วยงานต่างๆ การตรวจสอบคุณภาพของ Source Code ตอนนี้มันถูกจัดไปเป็นเงื่อนไขหนึ่งใน TOR แล้วครับ มันเลยเป็นที่มาของ Blog นี้ครับ หลังจากที่ผมได้ตั้ง SonarQube เพื่อมาตรวจสอบคุณภาพ Code กันแล้ว ปัญหาที่พบ ไอ้ที่มันแหกกฏไปต้องทำอย่างไร ? ทำใจ อยู่ที่เรียนรู้ อยู่ที่ยอมรับมัน และจัดทีมมาแก้ไขมันครับ ตรงนี้ต้องมี Automate Test ประกบเสมอนะครับ แล้วของใหม่ที่กำลังเพิ่มขึ้นเรื่อยจะคุมอย่างไร แจ้งทีม ทำ Line Notify ขึ้นมาครับ เป็นที่มาของ Blog นี้เลยครับ ทำไมต้องมี Line Notify ในเรื่องของ…