SonarQube 시작 (java, maven 및 docker)
너에게 이 점을 보여줄 수 있는 도구가 있다. 오늘 내가 쓴 것은 SonarQube 이다.
그러나 나는 최소한의 절차만 밟는 이런 방법을 좋아하기 때문에 나는 시작할 때 가능한 한 내가 필요로 하는 것을 많이 쓸 것이다.
Docker image로 설정하기도 합니다.만약 네가 그것에 익숙하지 않다면, 너는 아마 내가 쓴 것을 검사하고 싶을 것이다. Docker Images - Intro for beginners
Sonar Qube가 부두 일꾼으로서의 이미지
간단함을 유지합니다. Sonar Qube 용기를 실행할 것입니다. 게임을 마친 후에 시스템에서 삭제할 수 있습니다. 존재하지 않았던 것처럼.외부 장치나 유사한 것이 없다
docker pull sonarqube:8.5.1-community
어디서 구했지?SonarQube download 페이지에 docker pull 명령이 있습니다. 복사할 수 있습니다.보세요. 업데이트된 버전이 있을 수도 있어요.네, 그림이 저기 있어요. 이제 어떻게 해요?모든 docker 이미지와 같이, 우리의 예에서 docker Hub here 의 문서를 보십시오.
너는 아마 그곳의 모든 것을 읽고 싶을 것이다. 그러나 나는 이미 너를 도와 읽었다.이 문서에 대한 링크
첫걸음Docker Hub에서 커뮤니티 버전 Docker 그림을 찾습니다(이미 그렇게 했습니다).
두 번째 단계.다음 명령을 실행하여 서버를 시작합니다.
$ docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:8.5.1-community
지금 나는 이 SONAR_ES_BOOTSTRAP_CHECKS_DISABLE
표지가 무엇인지 모르겠지만, 지금은 그것을 이해하는 것이 결코 중요하지 않다.분명히, 너는 그것을 써야 한다. 왜냐하면 그것은 가장 간단한 빠른 입문 문서에 있기 때문이다.그리고 항상 구글로 직접 볼 수 있다.나는 간단한 검사를 했는데, Sonar Qube가 아래에서 Elastic Search를 사용하는 것을 보았다. 이 표지는 우리가 현재 무관심한 검사를 막았다.우리는 수나가 작동하기 시작하는 것을 보고 싶지 않다.SonarQube 프로젝트 만들기
시스템 관리자 자격 증명(login=admin,password=admin)을 사용하여 로그인http://localhost:9000합니다.만약 당신이 즉시 페이지를 열 수 없다면, 당황하지 말고 잠시만 기다려 주십시오.만약 네가 나처럼 정신을 맑게 유지한다면, 너는 언젠가 이 점을 보게 될 것이다
로그인할 때 다음 경고를 확인할 수 있습니다.
Embedded database should be used for evaluation purposes only
The embedded database will not scale, it will not support upgrading to newer versions of SonarQube, and there is no support for migrating your data out of it into a different database engine.
지금은 괜찮아요.우리는 외부 데이터베이스나 매핑 메모리 볼륨을 설정할 수 있지만, 빠른 시작을 위해 삽입식 데이터베이스를 계속 사용할 것이다.생산 프로젝트에 절대 추천하지 않습니다.
Create new project
를 클릭하고 거기에 이름을 입력하세요.다음 단계는 프로젝트 영패를 생성하여 표식에 사용합니다.SonarQube는 코드에 접근할 수 있고 분석 목적의 복사본이 있기 때문에 보호하는 것이 중요하다는 것을 기억하십시오.마찬가지로 이것은 생산에서 매우 중요하다.이것은 빠른 전시이기 때문에 이 기호화폐를 보존하는 것을 너무 걱정할 필요가 없다. 우리가 그것을 발휘하도록 하자.
프로젝트를 계속 설정하고
Java
를 선택한 다음 Maven
를 구축 도구로 선택합니다.프로젝트 디렉터리에서 실행할 명령을 생성합니다.mvn sonar:sonar \
-Dsonar.projectKey=hashnode-blog-showcase \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=YOUR-TOKEN-HERE
Maven의 BUILD SUCCESS
메시지를 기다리고 다시 http://localhost:9000로 이동합니다.더 좋은 것은 마븐 로그의 링크를 클릭할 수 있다는 것입니다.ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard?id=hashnode-blog-showcase
프로젝트 개요
너는 이런 물건을 보아야 한다.여기서 보시는 내용을 간략하게 살펴보겠습니다.
품질 관문 상태: 통과.품질 게이트에 특정 규칙을 설정하고 통과 여부에 관계없이 이러한 규칙에 따라 부울 값을 얻을 수 있습니다.예를 들어 규칙은 테스트 범위의 80%일 수 있다
새 코드/전체 코드: 전체적으로 프로젝트 코드 라이브러리의 모든 보고서를 얻을 수 있습니다.새 코드에서 같은 지점에 대해 두 번째 분석을 한 후에 차이를 볼 수 있습니다.그래서 너는 너의 최신 변화에 대한 분석만 볼 수 있을 뿐이다.
주요 보고서: 빈틈, 빈틈, 안전 문제, 코드 냄새와 기술 채무.모든 링크가 포함되어 있으니, 그러면 너는 그 안에 잠입할 수 있다.기술 채무는 Sonar Qube가 작성한 평균적인 가설로 평가된다. 이 문제들을 해결하는데 얼마나 많은 시간이 걸릴지 느낄 수 있다.
덮어쓰기 범위: 세 개의 단원 테스트가 있습니다. SonarQube에서 그것들을 검출할 수 있습니다. 좋습니다.그러나, 회선 덮어쓰기를 감지하려면 SonarQube 플러그인이 활성화되거나 설정되어야 한다는 것을 기억합니다.보시다시피 지금은 0.0% 입니다. 이것은 옳지 않다는 것을 알고 있습니다.
반복: 이 부분은 줄과 전체 코드 라이브러리의 백분율로 표시되는 몇 개의 반복 코드를 찾을 수 있고 표시할 수 있습니다.
수중에 잠입해서 소나가 우리를 도울 수 있을까?
알겠습니다. 이 프로젝트에서 버그와 11개의 코드 냄새가 나는 것을 보았습니다.우리는 어떻게 계속합니까?일반적인 경험법은 빈틈, 빈틈, 안전 문제에서 시작된다.
SonarQube를 좋아하는 점은 부품의 내용, 위치 및 방법을 보고하는 것입니다.우리 그 벌레를 쫓아가자.Bugs 섹션의 링크를 클릭하면 세부 정보가 표시됩니다.
나는 심지어 코드를 내비게이션할 수 있는데, 그것은 나에게 그것이 어디에 있는지 정확하게 알려줄 것이다.
내가 또 좋아하는 것은, Sonar Qube가 너에게 심각성 개술을 제공했는데, 너는 그것
Major
의 심각성을 볼 수 있다.위에는 두 개의 등급Critical
과 Blocker
이 있다.이런 거 조심해.내가 그것을 좋아하는 또 다른 멋진 점은 왜 당신이 어떤 일을 바꿔야 하는지에 대한 모든 묘사가 있다는 것이다.너는 아마
Why is this an issue?
링크를 보았을 것이다.너는 항상 중학교 때부터 한두 가지 일을 배울 수 있다.또한 호환성 및 비호환성 솔루션을 제공합니다.나는 다음 화면 캡처에 그것을 표시할 것이다.보이시나요?매우 상세한 개술.보고 어떻게 해야 할지 알아?다른 문제들을 검사해 보자. 그러면 너는 그것의 모양을 더욱 잘 이해할 수 있을 것이다.
너의 이정은 다를 수 있다.만약 당신이 더 큰 프로젝트를 가지고 있다면, 당신은 더 많은 다른 문제를 가지고 있을 것이다.하지만, 당신은 이곳에서 계속할 좋은 기초를 가지고 있습니다.
결론
SonarQube는 정적 코드 분석 도구입니다.그것은 특정한 규칙에 따라 코드를 검사해서 버그, 보안 문제, 함정 등이 있는지 확인할 것이다.
너는 그것을 사용해야 한다. 왜냐하면 그것은 너에게 왜 그리고 코드를 개선했는지 많은 설명을 주었기 때문이다.물론, 너는 100% 복종할 필요는 없지만, 적어도 너의 코드를 수정하는 것을 고려해야 한다.
Maven을 사용하면 쉽게 설정할 수 있습니다. 특히 Docker 이미지로 설치할 경우.
이 블로그의 범위는 SonarQube 분석의 기초 지식을 보여 줍니다.나는 잠시 후에 이 화제에 관한 문장을 좀 더 쓸 계획이다.
Reference
이 문제에 관하여(SonarQube 시작 (java, maven 및 docker)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/brunoraljic/getting-started-with-sonarqube-java-maven-and-docker-244n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)