본문 바로가기

Study/DevOps

Jenkins로 CI/CD Pipeline 구축하기 - 10. Jenkins와 Sonarqube 연동

 

Jenkins로 CI/CD Pipeline 구축하기 - 9. Docker에 Sonarqube 설치하기

Jenkins로 CI/CD Pipeline 구축하기 - 8. JenkinsFile 생성 대쉬보드 - 만들어둔 파이프라인 - Configure 선택해주세요. Behaviours 항목에서 위에 두개를 삭제해주세요. add 를 눌러서 filter by name 을 선택해..

code00.tistory.com

이전 글 보기

 

 

젠킨스에서 Sonarqube Scanner 플러그인을 설치해주세요.

 

관리에서 Global Tool Configuration 을 들어가줍니다.

 

방금 받은 플러그인 SonarQube Scanner를 찾아서 다음과같이 만들고 저장해주세요.

 

도커에서 소나큐브 컨테이너를 실행해주시고, Manually로 만들어주겠습니다.

 

이름과 키를 적고 Set Up 을 눌러줍니다.

 

Gitea와 연동을 해줘야하기 때문에 Other CI 를 눌러줍니다.

 

토큰을 생성하고 Continue를 눌러주세요.

 

토큰을 복사해서 젠킨스에 Credential을 추가해줘야합니다.

 

다음과 같이 추가해줍니다.

 

젠킨스 시스템 설정으로 들어오셔서 SonarQube 설정을 다음과 같이 추가해주고 저장을 눌러주세요.

 

pipeline {
    agent any
            stages {
            	stage("sonarqube") {
                    steps{
                        script{
                        def scannerHome = tool 'sonarqube-scanner';
                        withSonarQubeEnv(credentialsId:"SONAR_TOKEN",installationName:'sonarqube') {
                        sh "${scannerHome}/bin/sonar-scanner"
                    }
                }
            }
        }
    }
}

젠킨스 파일로 돌아가서, 다음과 같이 pipeline코드를 적어줍니다.

 

sonarqube 공식 홈페이지를 가면 위와같이 properties를 설정해주라고 나옵니다.

 

다음과 같이 설정해줍니다.

 

젠킨스로 돌아가서 다음과 같이 NodeJS plugin를 설치해주세요 (vscode npm build시 필요합니다)

 

글로벌 설정도 마찬가지로 해줍니다!

 

 

젠킨스에서 소나큐브를 빌드하게되면 EC2 메모리 용량의 부족으로 빌드가 멈추게되는데요,

미리 스왑메모리를 설정해둬서 이를 방지할 수 있습니다.

 

SSH Docker 터미널에 들어가서 다음과 같이 작성해줍니다.

  1. sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048
  2. sudo mkswap /mnt/swapfile
  3. sudo swapon /mnt/swapfile
    [https://dundung.tistory.com/284]

만약 sudo not command 에러가 나온다면 

apt-get install sudo -y

를 먼저 실행하고 다시 진행해주세요!

 

스왑메모리 설정까지 한 후에 젠킨스에서 빌드를 해줘보겠습니다.

 

 

다음과 같이 성공적으로 빌드가 됩니다.

 

 

다음시간에는 젠킨스에서 npm build를 하는 방법을 알아보겠습니다.

 

Jenkins로 CI/CD Pipeline 구축하기 - 11. NPM build

Jenkins로 CI/CD Pipeline 구축하기 - 10. Jenkins와 Sonarqube 연동 Jenkins로 CI/CD Pipeline 구축하기 - 9. Docker에 Sonarqube 설치하기 Jenkins로 CI/CD Pipeline 구축하기 - 8. JenkinsFile 생성 대쉬보드 -..

code00.tistory.com