SonarQube 및 Codefresh를 사용한 연속 코드 분석
이 기사는 다음과 같습니다.
SonarQube 개요
SonarQube 아키텍처는 서버와 SonarScanner로 구성됩니다.Scanner는 SonarQube와 관련된 항목을 분석하는 데 사용되는 독립된 클라이언트 유형 응용 프로그램입니다.스캐너는 일반적으로 CI/CD 파이프에 포함됩니다.
SonarQube를 로컬에서 사용하고 싶다면 two different ways to install it;zip 파일 또는 Docker Hub의 Docker 공식 이미지를 사용합니다.로컬 버전은 개발 과정에서 코드를 스캔하는 데 사용할 수 있습니다.또는 SonarCloud를 사용하면 코드가 원격git 저장소로 전송되면 온라인 UI에 접근할 수 있습니다.수나운은 테스트 목적에 무료로 사용할 수 있다.
SonarQube를 로컬로 설치하려면 Docker installed가 필요합니다.그러면 SonarQube의 공식 Docker 이미지를 추출할 수 있습니다.
docker pull Sonaqube
그런 다음 이미지를 실행하여 UI에 로컬로 액세스할 수 있습니다.
docker run-d-- 이름sonarqube-e SONAR ES BOOTSTRAP CHECKS DISABLE=true-p 9000:9000 sonarqube: 최신
현재localhost:9000에서SonarQube에 접근할 수 있습니다.시스템 관리자 자격 증명(login=admin,password=admin)을 사용하여 로그인 서비스를 사용합니다.
SonarQube를 더욱 고급스럽게 사용하려면 설치server를 권장합니다.이 경우 다음을 사용합니다.
계속해서 following project 의 코드를 스캔합시다.a language that is supported by SonarQube 로 작성된 항목만 사용하면 후속 작업을 할 수 있습니다.
#-----기본 SonarQube 서버
음향 수신기.사회자사이트 주소 =http://localhost:9000
export PATH=“sonar-scanner-4.5.0.2216-linux/bin:$PATH”
우리의 예에서 폴더sonar-scanner-4.5.0.2216-linux/bin은 우리가 명령을 실행하는 디렉터리에 있습니다.우리가 사용하는 것은 Ubuntu 20.04입니다.다른 운영 체제에 있는 경우 이 명령은 다릅니다.
사운드 스캐너
- 데소나.ProjectKey=go 테스트 응용 프로그램\
- 데소나.소스 =/간단한 시작\
- 데소나.사회자사이트 주소 =http://localhost:9000\
- 데소나.login = 4단계에서 생성된 토큰
명령이 성공적으로 실행되면 UI 새로 고침을 계속합니다.이제 다음 출력을 볼 수 있습니다.
이것은 가장 직접적인 시작과 운행 과정이 아닐 수도 있다.다음은 Codefresh의 사용자 정의 SonarQube 플러그인을 사용하는 간단한 옵션을 보여 드리겠습니다.
Codefresh에서 SonarQube 사용
Codefresh에서 SonarQube를 사용하려면 사용자 정의 설치가 필요하지 않습니다.대신 Codefresh SonarQube 플러그인을 사용하여 SonarQube를 파이프에 직접 통합할 수 있습니다.Codefresh 파이프는 일련의 단계로 구성됩니다.이 경우 SonarQube는 단계 중 하나가 됩니다.정부측SonarQube step은 Codefresh plugin directory에서 찾을 수 있고 다른 몇 개가 있습니다.
Codefresh 단계에서는 SonarQube 애플리케이션에 대한 액세스 토큰이 다시 필요합니다.본 예에서 우리는 SonarCloud을 사용할 것이다.
To generate a token :
다음에 프로젝트에 sonar-project.properties 파일을 추가해야 합니다.현재 모든 환경 변수 automatically defined가 음향 스캐너에 있는 것은 아니다.따라서 우리는 반드시 음향 수신 프로젝트를 세워야 한다.루트 디렉토리의 속성 파일:
터치 수신기 항목.등록 정보
이 파일은 음향 수신기를 정의하는 데 사용됩니다.조직과 음향 수신기.projectKey
# 지정된 SonarQube 인스턴스 중 고유해야 함
음향 수신기.프로젝트 키=sonarqube 예
#메커니즘 이름
음향 수신기.조직 = anais codefresh
이러한 값을 항목별 값으로 바꾸십시오.내 조직 아래의 클라우드 계정에서 조직 이름을 찾을 수 있습니다.
지금부터 create a Codefresh account (만약 당신이 아직 없다면, 지금은 때가 되었다. 그것은 무료이다!).
새 프로젝트를 만듭니다. 이 프로젝트에서 새 파이프를 만듭니다.파이프를 만든 후git 저장소에서 정확한 항목을 선택했는지 확인하십시오.우리는 예전과 같이 사용할 것이다the same app.기본 go 프로그램과 Dockerfile을 포함합니다.응용 프로그램을 사용하고 있는 경우 Dockerfile이 포함되어 있는지 확인합니다.
"만들기"를 누르면 파이프의 작업 흐름으로 다시 지정됩니다.이것은 자동으로 생성된 코드fresh를 포함합니다.yml 파일, 파이프를 정의하는 데 사용합니다.이제 SonarQube 단계를 추가합니다.
보기custom plug-in:
소나쿠베:
종류: 음향 스캐너 cli
논거:
사운드 수신 호스트 URL:'http://foo.acme:9000'
SONAR 로그인:사용자 이름 또는 키
SONAR 암호: 사용자 이름을 사용하는 경우 암호
SONAR PROJECT BASE DIR: 분석 작업 디렉토리 설정
SONAR 스캐너 CLI 버전: 최신
Codefresh 파이핑을 수정하여 사용자 정의 단계를 포함합니다.
소나쿠베:
유형: 사운드 스캐너 cli
스테이지:밀어내기
논거:
사운드 수신 호스트 URL:'https://sonarcloud.io/"# 호스트 URL로 교체
SONAR 로그인: 액세스 토큰 삽입#액세스 토큰으로 교체
SONAR PROJECT BASE DIR: "/codefresh/volume/sonarqube example"# 작업 디렉토리로 교체
사운드 스캐너 CLI 버전: "최신"
참조로 저장소의 codefresh.yml를 참조하십시오.
추가되면 파이프를 저장하고 파이프를 실행합니다.그러면 다음과 같은 출력이 표시됩니다.
그런 다음 클라우드에서 항목에 대한 분석을 볼 수 있습니다.
taps에서 보고서의 다른 시각적 형식에 접근할 수 있음을 주의하십시오.플랫폼의 다른 부분은 더 많은 정보를 제공했다.자세한 내용은 SonarQube official documentation를 참조하십시오.
요약
축하합니다!SonarQube 절차를 Codefresh 파이프에 추가하면 파이프 구축마다 코드의 분석 보고서를 자동으로 받습니다.
이 자습서에서는 다음과 같은 내용을 설명합니다.
SonarQube 소개
아직 Codefresh 계정이 없습니까?Create Your Free Account today !
Reference
이 문제에 관하여(SonarQube 및 Codefresh를 사용한 연속 코드 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codefreshio/continuous-code-analysis-with-sonarqube-and-codefresh-324e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)