Sonarqube 7.9 이상의 버전을 설치하려고 하는데 jdk를 11 아래버전을 사용하면 위와 같이 sonarqube required java 11 to run 이라는 오류가 발생하며 정상적으로 실행되지 않는다. 일단 이 오류를 보려면 실행 후에 sonarqube설치폴더/logs/sonar.log 로 확인을 할 수 있다. jdk11 설치 그럼 없는 jdk11을 설치해서 path 등록을 해줘야 하나? jdk11 설치는 하되 기본으로는 등록하지 않아도 된다. 일단 jdk11을 설치해보자. jdk11 설치는 다음 글을 참조하도록 하자. JAVA OpenJDK Zulu 설치 방법 및 JAVA_HOME 설정 모든게 Open이 되어가는 세상이다. 공짜는 누구나 다 좋아하지만 왜 내머리만 이렇게 없어지고 있는지....
Sonarqube는 정적으로 분석'된' 정보를 보여주는 역할을 하는 것이라면 Sonar-Scanner는 분석을 해주는 역할을 한다고 이해하면 된다. 이를 설치하고 연동하는 방법에 대해서 가이드하고자 한다. Sonarqube 설치 일단 Sonarqube는 다음 글들을 참조하여 설치하도록 하자. AWS ec2에 sonarqube 설치하기 앞서 AWS ec2에 git, gitlab도 설치하고 Jenkins도 설치했었다. CI/CD가 구성되면 그다음은? 품질이다. 정적 소스 분석도구인 Sonarqube를 설치해보자. 기본적으로 java가 설치가 되어 있어야 하는데 이건 Jenk oingdaddy.tistory.com Sonarqube Windows10 환경에서 설치하기 사양이 좋은 컴퓨터를 받아서 로컬에 son..
Sonar-Scanner 실행시 다음과 같은 오류가 발생하였다. sonar-scanner.properties 파일을 파싱하다가 문제가 발생한듯하다. 오류의 내용은 Malformed \uxxxx encoding sonar.projectKey=template-project sonar.projectName=template-project sonar.projectVersion=1.0 sonar.projectBaseDir=C:\Users\user\git\template-project sonar.sourceEncoding=UTF-8 sonar.java.source=11 sonar.inclusions=**/*.java sonar.language=java sonar.host.url=http://localhost:9000..
Sonarqube 설치 후 org.elasticsearch.ElasticsearchException: java.lang.InterruptedException 라는 오류가 발생하였다. 이건 꼭 설치 후 발생하는것 뿐만 아니라 운영중에도 발생하는 경우가 있다. 원인은 오류파일에 명시된 sonarqube설치경로/logs/ex_hs_err_pid.log 파일에 자세히 명시가 되어 있다. # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 536870912 bytes for Failed to commit area from 0x00000000..
사양이 좋은 컴퓨터를 받아서 로컬에 sonarqube를 설치하고 정적분석을 해보기로 하였다. Windows 환경에서 설치를 하는건 개인적으로는 Linux 환경에 설치하는것보다 조금 까다로웠다. 설치 Download | SonarQube Get the latest LTS and version of SonarQube the leading product for Code Quality and Security from the official download page. www.sonarqube.org sonarqube 공홈에 들어가서 다운로드를 받는다. 접속하여 조금 내리면 아래와 같은 화면을 볼 수 있다. 재력이 되어서 Enterprise Edition을 받으면 좋지만 Commuity Edition도 충분히 훌륭..
앞서 AWS ec2에 git, gitlab도 설치하고 Jenkins도 설치했었다. CI/CD가 구성되면 그다음은? 품질이다. 정적 소스 분석도구인 Sonarqube를 설치해보자. 기본적으로 java가 설치가 되어 있어야 하는데 이건 Jenkins 설치 글을 보면서 설치해보자. 그리고 간단히 구성을 할것이기 때문에 DB 연동은 하지 않겠다. 폴더 생성 및 설치 # mkdir /app/sonarqube # cd /app/sonarqube 필자는 위와 같은 경로에 sonarqube를 설치할 것이다. 어떤 소나큐브를 설치할지 version을 확인해보자. Index of /Distribution/sonarqube binaries.sonarsource.com 위에서 내 프로젝트에 맞는 sonarqube versio..
지난 시간에 아래와 같은 과정을 거치면서 Custom Ruleset을 만들었다. Sonarqube Custom Rule 6.7 to 8.5 migration 기존에 Sonarqube 6.7에서 사용하던 Java Custom Ruleset이 있었다. 그런데 Sonarqube를 8.5 version으로 올리면서 기존의 Custom Rule + Sonarqube 8.5에 추가된 Sonay way를 선별해서 반영해야 한다. 결론부터.. oingdaddy.tistory.com Sonarqube Custom Ruleset 정의의 기준 (with 행자부 보안취약점 대응, OWASP top 10 2020) 현 Sonarqube 버전에 맞는 Ruleset을 재정의를 하라는 작업을 받았다. 전에 작성했던 글과 연장선상에 ..
SonarLint를 설치했다면 SonarLint에서 제공하는 기본 Ruleset만 사용이 가능하다. 개인적으로 사용하며 조금 더 나은 품질을 추구한다면 이렇게 사용해도 되지만 엔터프라이즈 환경에서는 이정도 Ruleset으로는 어림없다. 조금 더 강력한 Ruleset을 가지고 있는 또 재정의가 가능한 Sonarqube Ruleset과 연동이 되어야 한다. 그래서 기존에 설치해놓은 SonarLint와 Sonarqube를 연동해보자. 필자의 Sonarqube 버전은 6.7이고 연동을 위한 최소한의 버전은 6.7 이다. SonarLint Sonarqube 연동 SonarLint 설치가 잘 되었다면 Show View에서 SonarLint Bindings를 볼 수 있다. 창을 열어보자. SonarLint Bingi..