나는 운이 좋게도?? 개발을하면서 코드 리뷰를 한 번도 받아본적이 없다.
하지만 클린 코드의 중요성은 경험적으로 누구보다 많이 체감하고있다.
기본적으로 Flake8, pylint, pep8 등 여러가지 툴을 사용하여 클린코드를 구현하고있지만
문법적인 부분만 확인을 받고있는 느낌이 들었다.
그러던 중 sonarqube에 대해 알게되었고, 사용해보니 내 코드의 문제점을 잘 찾아주어서
사용법을 공유해보고자한다.
*설치/환경셋팅 방법이 복잡해서 고민하다가, 도커로만 간단하게 할 수 있는 방법을 찾음
https://www.sonarsource.com/products/sonarqube/
SonarQube는 소프트웨어 개발 프로젝트에서 코드 품질을 관리하고 향상시키기 위한 오픈 소스 플랫폼입니다. 이 도구는 정적 코드 분석을 사용하여 소스 코드를 검사하고 다양한 측면에서 코드 품질을 평가합니다. SonarQube는 코드의 보안, 성능, 가독성 등 다양한 측면을 검토하여 프로젝트의 전반적인 품질을 측정하고 시각화합니다.
즉, 코드에 대한 문제점들을 세밀하게 분석해주는 서비스이다.
가장 좋은 점은 역시 무료 버전이 있다는 것!
1. Sonarqube 도커로 실행
docker run -d --name sonarqube -p 9000:9000 sonarqube
2. localhost:9000 접속
처음 기본 id/pw는 [ admin / admin ]
3.비번 업데이트
4. Create project manually
5. 프로젝트 이름 입력
프로젝트 이름은 나중에 연동시킬때 필요함.
6. 프로젝트 생성
7. 토큰 생성
발급받은 토큰은 잘 저장해둠.
8. Sonar-Scanner 사용하여 분석
sonarqube 가이드에서 제공하는 방법은 sonar-scanner를 다운로드 받아서 사용하라고 함.
하지만 이것 역시 도커로 실행할 수 있음.
Sonar-Scanner 토커 실행 파일 작성
vi sonarqube.sh
sonarqube.sh
#!/bin/bash
token="sqp_c3e67d580e130c792ae34a1b9c64d377f6f52406"
url="http://127.0.0.1:9000"
project="test"
docker run \
--rm \
--net host \
-e SONAR_HOST_URL=$url \
-v ${PWD}:/usr/src \
sonarsource/sonar-scanner-cli \
--debug \
-Dsonar.projectKey=$project \
-Dsonar.sonar.sourceEncoding=UTF-8 \
-Dsonar.sonar.host.url=$url \
-Dsonar.sources=/usr/src \
-Dsonar.login=$token
쉘 파일 권한 변경
chmod 755 *.sh
9. 실행
./sonarqube.sh
10. 결과 확인
정말 잘 찾아주긴 하네요!
sonarqube를 통해서 내 코드에 대한 코드 리뷰를 무료로 받아볼 수 있었다.
사수가 없어서 내 코드가 잘 작성되어있는지 확인하고 싶은 분들은 꼭 사용해보셨으면 좋겠습니다.
오늘은 sonarqube의 정말 기본적인 부분만 사용해보았지만, github를 연동하여 사용하면 더 유용하게 쓸 수 있을 것 같습니다.
안녕하세요! 질문이 하나 있습니다.
올려주신 글에 맞춰, sonarqube scanner를 docker 환경 안에서 돌렸는데요..
소스코드가 있는 파일 위치를 불러오는 경로 설정이 잘못 되었는지... 결과 값이 나오지 않습니다 ㅠ_ㅠ
소스코드를 불러오는 ' -v ${PWD}:/usr/src ' 이 부분 설정을 잘못한 것 같아요....
점검에 필요한 소스코드(python)는 window pc에 있고, 도커가 돌아가는 서버는 우분투 환경의 pc인데,,
Window pc에 있는 소스코드를 도커가 돌아가는 서버로 불러온 뒤, 해당 소스코드를 소나스캐너를 통해 점검받고자 할 때에는 위치 설정 방법이 다른게 있을까요?ㅠ
좋은 글 감사합니다!