일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS
- ES6
- react
- vuex
- event
- 자료구조
- express
- jsx
- HOC
- MySQL
- webpack
- nodejs
- Vue transition
- 리액트
- TypeScript
- mapGetters
- App.vue
- v-html
- sass
- 자바스크립트
- Vue
- scss
- Wecode
- 댓글달기
- input
- 쉬운설명
- storybook
- Vue.js
- State
- JavaScript
- Today
- Total
익명의 개발노트
[Sonar Qube] 환경설정 본문
오픈 소스이고, 코드 퀄리티를 위해 사용한다.
소프트웨어 품질 관리 기준에 따르면,
1) Reliability - 버그
2) Security - 해커나 잠재적인 보인 이슈에 대해 보여준다.
3) Maintainability - Code Smell, 사소한 이슈지만 추후 이슈가 될 수 있는 사항들이다.
4) Coverage - Unit Test 결과 및 테스트하지 않은 코드 분기, Line등을 확인가능하다.
5) Duplications - 코드 중복
6) Size - 코드에 대한 여러가지 정보를 제공 (LOC, Functions, Class수등)
7) Complexity - 순환 복잡도등을 체크
위 사항들을 대시보드 형식으로 사용자에게 보여줌으로써 소프트웨어 엔지니어로 하여금 좋은 퀄리티의 코드를
작성할 수 있도록 도와준다.
url을 가지고 있고, 개발툴과 연동도 가능하다.
1. 사용방법
1) 프로젝트마다 생성한 token을 가지고 분석에 사용한다.
2) 연동을 위해서는 sonar-scanner를 설치하면 유용하다.
3) sonar-scanner는 맥기준으로 brew install sonar-scanner로 설치가능하며, 홈피에서 다운받아 설치가능하다.
4) brew로 설치하면 path는 자동으로 설정되고, 직접 다운받아 설치하면 직접 path를 설치해야한다.(brew로 설치하는게 속 편하다)
5) path가 설치되면, 터미널에 sonar-scanner -h를 입력한다.
6) vscode 기준으로 확장플러그로는 sonarLint가 있으며, 설치 후 setting.json 파일에 환경설정을 해준다.
"sonarlint.connectedMode.project": {
"serverId": "ec_sonarqube",
"projectKey": "프로젝트 키"
},
"sonarlint.connectedMode.servers": [
{
"serverId": "ec_sonarqube",
"serverUrl": "http://33.33.33.33:7000", // url 서버주소
"token": "사전에 생성된 키값"
}
]
프로젝트 소스가 있는 곳에서 실행을 해야한다.
터미널로 프로젝트 소스파일 있는 곳으로 이동 후 아래 명령어 입력해서 실행한다.(한줄로 넣고 실행, 여기서는 보여주기 편하게 엔터를 침)
sonar-scanner
-Dsonar.projectKey=프로젝트키
-Dsonar.sources=.
-Dsonar.host.url=http://33.33.33.33:7000
-Dsonar.login=토큰키
d 위에서 명시된 .sources=. 으로 되어있기에 반드시 소스가 있는 곳에서 실행을 해야한다. "." 의 의미는 현재 위치임.
7) Sonar Qube 들어가서 보면 대시보드에 반영이 되어있다.
'코딩일기 > TIL' 카테고리의 다른 글
[babel 정리] feat. 실전 리액트 프로그래밍 (0) | 2019.10.07 |
---|---|
[리팩토링] 배열의 차집합 (0) | 2019.10.07 |
[react] context API사용하기. (0) | 2019.10.06 |
[vue] event-bus (0) | 2019.10.01 |
browser history API (0) | 2019.09.30 |