2020. 2. 17. 16:56ㆍIT/DevOps
본문에서는 SonarQube를 사용하기 위해 Amazon linux2에서 설치 및 구성한다.
SonarQube는 소스 코드 품질 관리, 코드 분석을 위한 오픈소스 플랫폼이다. 코드 분석에 가장 널리 사용된다.
1. 사전준비
SonarQube7.x는 다음과 같은 요구사항을 가진다. SonarQube 버전에 따라 요구사항에 맞게 설정해야 한다.
- 최소 2GB / 1 vcpu 용량의 서버
- PostgreSQL 버전 9.3 이상
- OpenJDK 11 또는 JRE 11
- 모든 SonarQube프로세스는 sonar 사용자로 실행
1.1 Java 설치
업데이트와 필요한 패키지를 설치한다.
sudo yum update -y
sudo yum install wget unzip -y
Java 11를 설치한다. Amazon linux에서는 다음과 같이 설치한다.
설치 후 11로 설정되었는지 버전 확인이 필요하다.
sudo amazon-linux-extras install java-openjdk11
sudo yum install java-11-openjdk-devel -y
root로 로그인하여 실행한다. (이는 추후 메모리 문제 방지하기 위함이다.)
sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u
1.2 SonarQube용 Database 설정
PostgreSQL 10을 설치하고, 초기화한다.
amazon-linux-extras install postgresql10 vim epel -y
yum install -y postgresql-server postgresql-devel
/usr/bin/postgresql-setup --initdb
systemctl enable postgresql
systemctl start postgresql
SonarQube의 Database와 사용자를 생성한다.
$ su - postgres
$ psql
create user sonar with password 'sonar';
create database sonar owner sonar;
\q
exit
PostgreSQL 설정 파일을 수정한다. (추후 인증을 위함이다.)
sudo vi /var/lib/pgsql/10/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
PostgreSQL를 시작한다.
sudo systemctl start postgresql
sudo systemctl enable postgresql
1.3 SonarQube 설치
/opt 폴더 아래 SonarQube를 설치한다.
cd /opt
sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
zip 파일을 풀고, 새롭게 폴더를 생성한다.
sudo unzip sonarqube-7.6.zip
sudo mv sonarqube-7.6 sonarqube
sonar.properties에 Database 연결 정보를 입력한다.
Web port 또한 이곳에서 설정할 수 있다. 기본 port는 9000이다.
sudo vi /opt/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost/sonar
SonarQube를 실행할 수 있는 사용자를 생성하고, 권한을 부여한다.
sudo useradd sonar
sudo chown -R sonar:sonar /opt/sonarqube
1.4 SonarQube 시작
sonar로 로그인한 후, SonarQube를 실행할 수 있는 스크립트가 있는 폴더로 이동한다.
sonar.sh 스크립트를 실행하고, 상태를 확인한다.
sudo su - sonar
cd /opt/sonarqube/bin/linux-x86-64
./sonar.sh start
./sonar.sh status
./sonar.sh console
정상적으로 실행된다면, http://ipaddress:9000/ 해당 주소에서 확인할 수 있다.
다음은 정상적으로 실행되는 SonarQube 모습이다.
1.5 오류 해결
설치 후, 오류가 발생하였다면 아래에서 log를 확인한다. 최근 로그는 tail -f access.log 에서 확인할 수 있다.
cd /opt/sonarqube/logs
es.log
sonar.log
web.log
access.log
'IT > DevOps' 카테고리의 다른 글
AWS 기반의 CI/CD 환경 구성 (GitLab, Jenkins, Codedeploy, S3) (0) | 2020.06.03 |
---|