티스토리 뷰

Sonarqube를 사용하다 보면 특정 프로젝트에 맞게 룰셋을 정의해야 하는 경우가 생긴다. 룰셋 관련 파일을 받았을 때 이를 어떻게 Sonarqube에 적용을 해야 하는지, 또 어떻게 룰셋 파일로 추출해 내는지에 대해 포스팅한다.

 

룰셋 파일이라 함은 다음과 같은 모양으로 생긴 xml 파일이다. 

<?xml version='1.0' encoding='UTF-8'?><profile><name>abcproject</name><language>java</language><rules><rule><repositoryKey>findbugs</repositoryKey><key>AM_CREATES_EMPTY_JAR_FILE_ENTRY</key><priority>MAJOR</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>AM_CREATES_EMPTY_ZIP_FILE_ENTRY</key><priority>MAJOR</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION</key><priority>MAJOR</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>BAC_BAD_APPLET_CONSTRUCTOR</key><priority>MAJOR</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>BC_BAD_CAST_TO_ABSTRACT_COLLECTION</key><priority>INFO</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>BC_BAD_CAST_TO_CONCRETE_COLLECTION</key><priority>INFO</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS</key><priority>MAJOR</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>BC_IMPOSSIBLE_CAST</key><priority>CRITICAL</priority><parameters/></rule><rule><repositoryKey>findbugs</repositoryKey><key>BC_IMPOSSIBLE_CAST_PRIMITIVE_ARRAY</key><priority>CRITICAL</priority><parameters/></rule> ...

 

즉 어떤 규칙을 무슨 레벨(Blocker, Critical, Major, Minor, Info)로 정의할지 기술한 문서라고 보면 된다. 

이 파일을 만들수도, 만들어진 파일을 import 할수도, 적용되어진걸 export 할수도 있다. 

 

품질팀으로부터 test_rule.xml 이라는 파일이 전달되었고 이걸 Sonarqube에 적용해서 조치하라는 임무가 주어졌다. 


Sonarqube RuleSet import 하기 (restore)

 

 

Restore !!!!!!

이렇게 간단히 import를 할수 있는데 내가 영어를 못해서 그런건지 이걸 못찾아서 한참을 찾았다. 

Restore 버튼을 누르면 파일을 첨부할수 있는 팝업이 나오고 여기에서 전달받은 test_rule.xml 을 첨부하면 된다. 

 

 

해당 언어에서 profiles를 확인해보면 정상적으로 반영이 된것을 확인할 수 있다. 

 

 


Sonarqube RuleSet export 하기 (backup)

 

반대로 이미 Sonarqube에 적용된 Ruleset을 export해서 보관을 할때는 다음과 같이 하면 된다. 

 

 

Back up 을 누르면 룰셋 파일이 xml 로 다운로드 되는걸 확인할 수 있다. 

 

즉 Sonarqube에서는 내게 익숙한 표현인 import는 restore, export는 back up 으로 이해하면 되겠다. 

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31