1. 소나 큐브 다운로드
https://www.sonarqube.org/downloads/
커뮤니티 버전을 다운받고 압축된 파일을 마음에 드는 곳에 풀어줍니다.
이 글을 작성 당시의 소나큐브 버전은 9.1.0버전입니다.
소나큐브는 소스 코드를 분석하기 위한 툴로 여기서는 C#으로 작성한 코드를 기준으로 테스트 해보려고 합니다.
압축을 푼 경로에서 bin 폴더에 들어가서
해당 운영체제에 맞는 폴더에 들어가서 StartSonar를 실행해주면 됩니다.
2. Java JDK SE 11 버전 설치
https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html
오라클 홈페이지에 들어가서 java 11버전의 jdk를 설치해줍니다.
설치가 되었으면 jdk의 환경변수를 잡아주어야 하는데, 이때 무조건 JAVA_HOME이라는 변수를 생성해주어야 합니다!
* 정적 분석 실행기가 JAVA_HOME의 변수를 사용해서 경로를 찾고 있어서임.
Path의 환경변수에 %JAVA_HOME%\bin을 입력하고 저장합니다.
3. 소나 큐브 실행
이때 소나큐브는 로컬호스트 기준으로 9000~9001번 포트를 사용하기 때문에, 해당 포트를 사용하고 있다면 그 포트를 사용하는 프로세스를 죽여주면 됩니다.(netstat 명령어 같은 것으로 확인)
StartSonar.bat을 실행시키고 Process is up, SonarQube is up이라는 문구를 확인하면 정상적으로 소나 큐브가 실행 된 것입니다.
소나큐브는 웹 형태로 동작하는데 localhost:9000 주소로 접근하면 됩니다.
기본 로그인 아이디는 admin / admin입니다.
정상적으로 소나 큐브의 웹 서비스가 동작하면 위와 같은 형태를 확인할 수가 있습니다.(현재는 프로젝트 한 개를 생성해서 작업을 진행중인 상태입니다.)
4. 프로젝트 생성
소나 큐브에서 프로젝트를 생성하는데, 이때 Local 환경에서 테스트를 할 것이기 때문에 Manually를 선택해서 프로젝트를 생성합니다.
여기서 프로젝트의 이름과 프로젝트 키를 임의로 지어줍니다. 저는 test라는 이름으로 생성햇습니다.
그 다음엔 어떤 레포지토리에 있는 소스 코드를 분석할 것이냐는 물음인데, 소스 코드가 Local에 있으므로 Locally를 선택해줍니다.
그 다음에는 프로젝트를 분석하기 위한 token을 발급해주는데, 처음이라면 token의 이름을 적당히 지어서 생성해줍니다.
이때 발급된 토큰의 주소는 꼭 필요하기 때문에 어딘가에 꼭 메모를 해둡시다..
만약 기존에 토큰을 발급 했다면 Use existing token을 선택해서 토큰 주소를 입력하고 다음 단계로 넘어갑니다.
분석할 프로젝트의 빌드 패키지를 선택하는데, 저는 C# 프로젝트를 확인할 것이기 때문에 .Net을 선택했습니다.
.Net Framework는 SonarScanner라는 프로그램을 별도로 설치해야 소스 코드 분석이 가능합니다.
위에 써져있는 링크 offficial documentation of the Scanner for .NET을 클릭해서
소나 스캐너를 다운해줍니다. 제 닷넷 프레임워크 버전이 4.7 버전이기 때문에 4.6+를 선택했습니다.
소나 스캐너를 설치하고 위 파일 중에서 SonarQube.Analysis.xml 파일을 열어서 내용을 수정해줍니다.
Sonar.login에 들어간 해쉬값은 여러분들이 소나 큐브에서 생성한 토큰의 주소를 입력해주면 됩니다.
5. 소나 큐브 스캐너 실행
소나 큐브 스캐너까지 정상적으로 설치가 되었다면 소나 큐브 홈페이지 맨 마지막 페이지의 Execute the Scanner 항목 아래 있는 명령어들을 사용하면 됩니다.
소나 큐브 스캐너가 설치된 폴더를 CMD로 이동해서
맨 첫번째에 있는 명령어를 실행해줍니다. 별도로 변경할 필요는 없습니다.
Pre-processing이 성공했다면 첫번째는 완료.
두번째로는 분석할 프로젝트의 경로를 입력해서 스캐너를 빌드해주어야 합니다.
저는 특정 경로를 지정해서 빌드했는데 명령어는 MsBuild.exe [프로젝트경로] /t:Rebuild 명령어를 입력해주면 됩니다. ( []는 빼도 됩니다.)
위에 있었던 2번째 명령어에서 가운데에 프로젝트 경로만 추가한 모양입니다.
명령어를 입력하면 빌드 작업이 진행되고 마무리가 됩니다.
마지막으로 3번째 명령어를 입력해주면 됩니다.
3번째 명령어까지 입력해서 위와 같이 EXECUTION SUCCESS가 나온다면 명령어들이 다 정상적으로 작동을 한 것이고, 자동적으로 소나 큐브 홈페이지에 프로젝트를 분석한 내용이 올라가면서 새로고침이 됩니다.
위와 같은 화면을 확인해볼 수가 있는데, 이곳에서 버그와 작성한 코드의 문제 여부를 확인할 수가 있습니다.
'C# > WPF' 카테고리의 다른 글
[C#] ERROR CS8107: '기본 리터럴'기능은 C# 7.0에서 사용할 수 없습니다. (0) | 2021.11.15 |
---|---|
WPF Fody 사용 방법 (0) | 2020.09.16 |
[C#] nuget package manager console 사용 방법 (0) | 2020.09.03 |
[C#] Lazy Initialization(지연 초기화)란? (0) | 2020.09.01 |
[WPF] Text String Format Binding 사용 방법 (0) | 2020.08.31 |