반응형
들어가며
Sonarqube란?
- Sonarqube는 check style, coverage, test 등을 분석해주는 코드 도구
- 보안 취약 코드나 악취 코드도 분석해줌
docker로 설치
docker-compose.yaml
version: "3.3"
services:
sonarqube:
container_name: sonarqube
image: sonarqube # arm일 경우 - image:hub4rpi64/sonarqube:8.3.1.34397
environment:
TZ: Asia/Seoul
ports:
- "9000:9000"
리눅스에 설치
자바 설치
- 소나큐브는 자바 기반으로 작동하므로 사전에 설치해야함
- 참고
unzip 설치
- 소나큐브 압축파일 해제시 필요
sudo apt-get install unzip
소나큐브 설치
mkdir -p ~/app \
&& cd ~/app \
&& wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.2.0.32929.zip \
&& unzip sonarqube-*.zip \
&& rm sonarqube-*.zip \
&& ln -s -Tfs sonarqube-* sonarqube
환경변수 등록
vi ~/.profile
export SONARQUBE_HOME=/home/ubuntu/app/sonarqube
export PATH=$PATH:$SONARQUBE_HOME/bin/linux-x86-64
source ~/.profile
소나큐브 설정
- 별도 설정 없이도 작동 가능하므로 해당 단계는 패스 가능
vi $SONARQUBE_HOME/conf/sonar.properties
sonar.web.host=0.0.0.0
sonar.web.port=9000
소나큐브 실행
- background 실행
sonar.sh start
- foreground 실행
sonar.sh console
- 종료
sonar.sh stop
소나큐브 접속
- 별도 설정 없으면 기본 포트로 9000을 사용
- http://sonarqube.example.com:9000
로그인
- ID : admin
- PW : admin
한국어 플러그인 설치
- Administration > Marketplace
- 아래 플러그인 검색창에 korean pack 입력 후 install 버튼 눌러 설치
- 설치가 끝나면 상단에 뜨는 Restart server 버튼 클릭해서 소나큐브 재시작
신규 프로젝트 생성
- projects > create new project
- project key : EXAMPLE-PROJECT
- display name : EXAMPLE-PROJECT
- set up 버튼 클릭
- Generate a token : EXAMPLE-PROJECT
- 생성 후 나타난 토큰값 복사 ex) c33b432f7c835c5beedc0f5847a7adcff01cdd7a
- 아래 내용들 확인
mvn sonar:sonar \ -Dsonar.projectKey=EXAMPLE-PROJECT \ -Dsonar.host.url=http://sonarqube.example.com:9000 \ -Dsonar.login=c33b432f7c835c5beedc0f5847a7adcff01cdd7a
신규 프로젝트 비공개로 설정
- 해당 프로젝트 > 우상단에 Project Settings > 권한
- 상단에 비공개 체크
- 프로젝트 목록 페이지에서 해당 프로젝트 우상단에 비공개 태그가 추가됐는지 확인
maven 프로젝트 설정
- pom.xml
<profiles>
<profile>
<id>ci</id>
<properties>
<sonar.projectKey>EXAMPLE-PROJECT</sonar.projectKey>
<sonar.host.url>http://sonarqube.example.com:9000</sonar.host.url>
<sonar.login>c33b432f7c835c5beedc0f5847a7adcff01cdd7a</sonar.login>
</properties>
</profile>
</profiles>
소나큐브에 분석 요청
- 아래 명령 수행 후 소나큐브 웹페이지에서 분석 결과 확인
- 아래 명령을 완료하고 웹페이지에 바로 반영 결과가 뜨는게 아니므로 시간을 두고 확인
mvn sonar:sonar -P ci
반응형
'Development > Sonarqube' 카테고리의 다른 글
[Sonarqube] Rest API (0) | 2020.12.30 |
---|---|
[Sonarqube] 자바스크립트 프로젝트 연동 (0) | 2020.12.30 |
[Sonarqube] 자바 프로젝트 연동 (0) | 2020.12.30 |