Docker/환경 설정

[Docker] Docker로 SonarQube 로컬 설치 및 검증 수행 방법

adjh54 2023. 12. 28. 23:25
728x170
해당 글에서는 MacOS 내에서 SonarQube Community를 Docker로 구성하여 로컬에 설치하고 검증하는 방법에 대해 알아봅니다.


 

 

 

💡 [참고] Docker Desktop이 설치가 되었다는 가정하에 해당 글이 이어집니다. 설치 방법에 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.
 

[Docker] Docker MacOS 환경 최초 설치 및 실행 방법: Image, Container, Registry

해당 글에서는 MacOS 환경에서 Docker를 설치하고 Image, Container, Registry를 생성하여 관리하는 방법에 대해 알아봅니다 1) Docker Desktop 설치 1. 공식 사이트에서 다운로드를 합니다. 💡 공식 사이트에서

adjh54.tistory.com

 

 

 

1) SonarQube Community


 💡 SonarQube Community

- 오픈 소스 품질 관리 도구로, 소프트웨어 개발 프로젝트의 코드 품질을 분석하고 향상하는 데 도움을 줍니다.

- 정적 코드 분석, 코딩 규칙 준수, 버그 및 취약점 탐지, 코드 복잡성 측정 등의 기능을 제공합니다. 또한 다양한 프로그래밍 언어와 통합되어 사용할 수 있습니다.
- 개발자 및 팀은 코드의 품질 문제를 식별하고 해결하기 위한 통찰력을 얻을 수 있습니다. 이를 통해 개발 프로세스에서 발생할 수 있는 잠재적인 위험을 사전에 예방하고 코드의 유지 관리성을 향상할 수 있습니다.
- 무료로 사용할 수 있으며, 커뮤니티에서 지원 및 업데이트가 제공됩니다. 또한 SonarQube Community는 다양한 플러그인을 통해 기능을 확장할 수 있습니다.

 

 

2) 설치 과정


1. Homebrew에서 sonar-scanner를 설치합니다.


💡 Sonar Scanner

- 소스 코드 정적 분석 도구입니다. 이 도구는 코드 품질을 평가하고 보안 취약점, 코딩 규칙 위반, 버그 등을 탐지하는 데 사용됩니다.
- SonarQube와 연동하여 코드 품질 관리를 지원합니다.
$ brew install sonar-scanner

 

 

sonar-scanner

Homebrew’s package index

formulae.brew.sh

 

 

 

 

2. Docker 이미지 & 컨테이너 설치


$ docker run -d --name sonarqube -p 9000:9000 sonarqube

 

 

 

3. 설치된 이미지 & 컨테이너 확인


 

 

💡 [참고] Docker Desktop 로컬 설치에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.
 

[Docker] Docker MacOS 환경 최초 설치 및 실행 방법: Image, Container, Registry

해당 글에서는 MacOS 환경에서 Docker를 설치하고 Image, Container, Registry를 생성하여 관리하는 방법에 대해 알아봅니다 1) Docker Desktop 설치 1. 공식 사이트에서 다운로드를 합니다. 💡 공식 사이트에서

adjh54.tistory.com

 

 

4. http://localhost:9000으로 접근합니다.


💡 http://localhost:9000으로 접근합니다.

- 최초 접근하면 아래와 같은 화면이 출력됩니다. 또한 최초 아이디/비밀번호는 ‘admin’입니다.

 

 

 

 

5. 비밀번호를 변경해 줍니다.


 

 

 

 

 

6. 로컬에서 테스트를 위해 ‘Create a local project’ 버튼을 눌러줍니다.


 

 

 

 

 

7. ’Project display name’을 입력하면 Project Key가 생성이 됩니다.


 

 

 

 

8. ‘Use the global setting’을 선택하고 ‘Create project’를 선택합니다.


 

 

 

 

 

9. ‘Locally’를 선택합니다.


 

 

 

 

 

10. 토큰 이름을 작성하고 기간을 지정하고 ‘Generate’ 버튼을 눌러줍니다.


 

 

 

 

11. Continue 버튼을 눌러줍니다.


 

 

 

 

12. Java 프로젝트이기에 Gradle을 선택합니다.


 

 

 

 

 

13. 분석하려는 프로젝트의 build.gradle의 plug-in에 추가해 줍니다.


 

 

 

 

14. 명령어를 ‘Copy’합니다.


 

 

 

 

 

15. 프로젝트 경로에 접근하고 복사한 명령어를 입력합니다.


sonar-scanner \
  -Dsonar.projectKey=multi-flex-api \
  -Dsonar.projectName='multi-flex-api' \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.token=xxxx

 

 

 

3) 결과 확인


1. http://localhost:9000으로 접근하여 ‘Projects’ 탭을 선택하고 프로젝트를 선택합니다.


 

 

 

 

 

2. 위에서 수행한 취약점에 대해 아래와 같이 확인이 가능합니다.


 

 

 

 

 

오늘도 감사합니다. 😀

 

 

 

그리드형