SonarQube는 코드 품질 분석을 위한 오픈 소스 웹 기반 도구입니다. SonarQube는 플러그인을 통해 다양한 프로그래밍 언어로 된 광범위한 코드를 분석할 수 있습니다.
https://www.vultr.com/docs/install-sonarqube-on-ubuntu-20-04-lts/
PostgreSQL 리포지토리를 추가합니다.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
PostgreSQL 서명 키를 추가합니다.
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
PostgreSQL을 설치합니다.
sudo apt install postgresql postgresql-contrib -y
재부팅 시 데이터베이스 서버가 자동으로 시작되도록 합니다.
sudo systemctl enable postgresql
데이터베이스 서버를 시작합니다.
sudo systemctl start postgresql
기본 PostgreSQL 비밀번호를 변경합니다.
sudo passwd postgres
포스트그레스 사용자 로 전환합니다 .
su - postgres
sonar 라는 사용자를 만듭니다 .
$ createuser sonar
PostgreSQL에 로그인합니다.
$ psql
소나 사용자 의 비밀번호를 설정합니다 . . 대신 강력한 암호를 사용하십시오
my_strong_password.
ALTER USER sonar WITH ENCRYPTED password 'my_strong_password';
sonarqube 데이터베이스를 만들고 소유자를 sonar 로 설정합니다 .
CREATE DATABASE sonarqube OWNER sonar;
sonarqube 데이터베이스 에 대한 모든 권한을 소나 사용자에게 부여합니다.
GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;
PostgreSQL을 종료합니다.
\q
루트가 아닌 sudo 사용자 계정으로 돌아갑니다.
$ exit
SonarQube 파일의 압축을 푸는 데 필요한 zip 유틸리티를 설치 합니다.
$ sudo apt-get install zip -y
SonarQube 배포 파일을 다운로드합니다.
sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.10.61524.zip
다운로드한 파일의 압축을 풉니다.
sudo unzip sonarqube-8.9.10.61524.zip
압축을 푼 파일을 /opt/sonarqube디렉토리 로 이동
sudo mv sonarqube-8.9.10.61524.zip /opt/sonarqube
소나 그룹 을 만듭니다 .
$ sudo groupadd sonar
소나 사용자를 만들고 /opt/sonarqube 를 홈 디렉토리로 설정 합니다 .
$ sudo useradd -d /opt/sonarqube -g sonar sonar
소나 사용자에게 /opt/sonarqube디렉토리 에 대한 액세스 권한을 부여합니다 .
$ sudo chown sonar:sonar /opt/sonarqube -R
$ sudo nano /opt/sonarqube/conf/sonar.properties
다음 행을 찾으십시오.
#sonar.jdbc.username=
#sonar.jdbc.password=
행의 주석 처리를 제거하고 2단계에서 생성한 데이터베이스 사용자와 암호를 추가합니다.
sonar.jdbc.username=sonar
sonar.jdbc.password=my_strong_password
이 두 줄 아래에 sonar.jdbc.url 을 추가합니다 .
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
파일을 저장하고 종료합니다.
소나 스크립트 파일을 편집합니다.
$ sudo nano /opt/sonarqube/bin/linux-x86-64/sonar.sh
약 50줄 아래에서 다음 줄을 찾습니다.
#RUN_AS_USER=
줄의 주석을 제거하고 다음과 같이 변경합니다.
RUN_AS_USER=sonar
파일을 저장하고 종료합니다.
$ sudo nano /etc/systemd/system/sonar.service
파일에 다음 줄을 붙여넣습니다.
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonar
Group=sonar
Restart=always
LimitNOFILE=65536
LimitNPROC=4096
[Install]
WantedBy=multi-user.target
파일을 저장하고 종료합니다.
시스템 시작 시 실행되도록 SonarQube 서비스를 활성화합니다.
$ sudo systemctl enable sonar
SonarQube 서비스를 시작합니다.
$ sudo systemctl start sonar
서비스 상태를 확인하세요.
$ sudo systemctl status sonar
sysctl 구성 파일을 편집합니다.
$ sudo nano /etc/sysctl.conf
다음 행을 추가하십시오.
vm.max_map_count=262144
fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
파일을 저장하고 종료합니다.
변경 사항을 적용하려면 시스템을 재부팅하십시오.
$ sudo reboot
http://url:9000