NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 소프트웨어 정적 분석을 위한 소나큐브 설치하기 - 1부

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠소프트웨어의 제품군이 점점 많아지고 있는데요. 각각의 제품들의 코드 품질을 향상시키기 위해 소나큐브를 이용해서 정적 분석을 하려고 합니다. 오래전에~ 젠킨스와 소나큐브등등을 이용해서 CI/CD 및 이슈 관리와 정적 분석 서버를 만들어서 사용했었습니다. 하지만, 개인 서버를 운영하고 있었던터라 보안에 문제가 많았고 해킹으로 인해 서버를 닫을수밖에 없었습니다. 이 때 유실된 자료가 너무 아깝지만 복구가 불가능하여 포멧할수밖에 없었습니다. 최근에 프로젝트를 진행하고 있는 S사에서 DevOps를 도입하기 위한 준비를 하고 있습니다. 그래서~ 생각난김에 이번에 코드들을 정리하고 최적화하기 위해 소나큐브만 설치해보기로 했습니다. 아래 사이트에서 소나큐브를 다운로드 받으세요.

    ※ 커뮤니티 버전은 무료로 사용할 수 있으므로, Community를 다운로드 하세요.

    [ 정적 분석 도구 - 소나큐브 다운로드 ]

    TiDkF4Z.png

     

     

    압축 해제가 완료되면 폴더를 C드라이브로 복사합니다. 그리고, CMD를 관리자 권한으로 실행하세요.

    ※ 아래 경로는 sonarqube 버전에 따라 다를 수 있습니다.

    cd c:/sonarqube-8.9.1.44547/bin/windows-x86-64

    8JFx7Av.png

     

     

    이 폴더에는 아래 그림과 같은 파일들이 포함되어 있습니다.

    ※ 폴더의 내용을 보려면 dir 또는 dir/w 또는 dir/p 를 입력하세요. (linux는 ll 또는 ls 또는 ls -a 또는 ls -B)

    XKuAYl6.png

     

     

    각 파일의 역할은 아래와 같습니다.

    • StartNTService.bat: 윈도우 서비스에 등록된 톰켓 서버 시작
    • StartSonar.bat: 소나큐브 시작
    • StopNTService.bat: 윈도우 서비스에 등록된 톰켓 서버 중지
    • wrapper.exe: 톰켓 서버

     

    소나큐브는 웹서버로 톰켓을 이용합니다. 데이타베이스는 오라클, MSSQL, MySQL, Postgresql등등을 지원합니다. 예전에는 MSSQL을 이용했었는데요. 이번에는 MySQL이나 Postgresql을 사용해볼께요. 참고로, 오라클은 별도의 프로바이더가 필요합니다. 따라서~ 오라클을 제외한 다른 데이타베이스를 이용하시는게 좋습니다. 예전에는  소나큐브에서 InstallNTService.bat를 제공했었는데요. 현재는 직접 윈도우 서비스를 만들어야 합니다.

    ※ 아래 경로는 sonarqube 버전에 따라 다를 수 있습니다.

    sc.exe create SonarQube binPath="C:\sonarqube-8.9.1.44547\bin\windows-x86-64\wrapper.exe -s C:\sonarqube-8.9.1.44547\conf\wrapper.conf"

     

    서비스가 정상적으로 등록되었습니다.

    mfyxARk.png

     

     

    "StartNTService.bat"를 실행하세요. SonarQube Service가 시작되었습니다.

    SolrG1T.png

     

     

    윈도우 Service에 SonarQube가 실행되었는데요. SonarQube를 설치하려면 서비스를 일단 중지해야 합니다.

    Dlhnp7s.png

     

     

    "StartSonar.bat"를 실행하세요.

    Bp4Mw5p.png

     

     

    설치가 완료되면, 크롬 웹브라우저를 실행하고 localhost:9000을 입력합니다. 기본 계정은 admin / admin입니다.

    O5pxJ29.png

     

     

    로그인되면 비밀번호를 변경해야 합니다.

    QbtscjV.png

     

     

    Update를 누르면 모든 작업이 완료됩니다.

    dhgYCNg.png

     

     

    아직 데이타베이스와 C# 또는 Java, Python등등... 개발 언어 설정과 소스 연동이 필요합니다. 예전에 설치 했을때와 비교해보면 많은 부분이 간소화된걸 알 수 있었습니다. 디테일하게 만져보면 또 다른 문제가 발생할지도 모르지만요. 현재로써는 많이 쉬워진거 같습니다. 2부에서는 디테일한 부분들을 좀 더 자세하게 알아보고, 소나큐브 설치는 여기에서 마치도록 할께요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    [이 게시물은 엔지엠소프트웨어님에 의해 2021-06-23 21:08:47 팁 앤 테크에서 이동 됨]
    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.