SonarQube는 코드 품질 관리 및 분석 도구로, 리눅스 환경에서 설치하기 위해 몇 가지 단계를 수행해야 합니다. 아래는 Ubuntu/Debian 또는 CentOS 기반의 리눅스에서 SonarQube를 설치하는 일반적인 절차입니다.
1. 사전 요구 사항 확인
Java: SonarQube는 Java 11 이상이 필요합니다. 설치되지 않았다면 OpenJDK 또는 Oracle JDK를 설치합니다.
bash
sudo apt update sudo apt install openjdk-11-jdk -y
또는 CentOS:
sudo yum install java-11-openjdk-devel -y
설치 후 확인:
java -version
Database: SonarQube는 PostgreSQL, MySQL, Oracle 등을 지원합니다. PostgreSQL이 가장 일반적입니다.
sudo apt install postgresql postgresql-contrib -y # Ubuntu sudo yum install postgresql-server postgresql-contrib -y # CentOS
sudo systemctl enable postgresql sudo systemctl start postgresql
sql
sudo -u postgres psql CREATE DATABASE sonarqube; CREATE USER sonar WITH PASSWORD 'sonar'; ALTER ROLE sonar SET client_encoding TO 'utf8'; ALTER ROLE sonar SET default_transaction_isolation TO 'read committed'; ALTER ROLE sonar SET timezone TO 'UTC'; GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar; \q
2. SonarQube 설치
SonarQube 다운로드: SonarQube의 최신 버전을 다운로드합니다. SonarQube 공식 웹사이트에서 버전을 확인합니다.
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-<version>.zip
압축 해제 및 디렉토리 이동:
unzip sonarqube-<version>.zip sudo mv sonarqube-<version> /opt/sonarqube
SonarQube 사용자 생성: SonarQube 실행을 위한 전용 사용자를 생성합니다.
sudo useradd -r -d /opt/sonarqube -s /bin/bash sonarqube sudo chown -R sonarqube:sonarqube /opt/sonarqube
3. SonarQube 구성
설정 파일 편집: SonarQube 설정 파일을 수정합니다.
sudo nano /opt/sonarqube/conf/sonar.properties
아래 항목을 수정합니다:
properties
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
시스템 제약 완화 (성능 문제 방지):
sudo nano /etc/sysctl.conf
아래를 추가:
conf
vm.max_map_count=262144 fs.file-max=65536
적용:
sudo sysctl -p
4. SonarQube 서비스 설정
Systemd 서비스 파일 생성:
sudo nano /etc/systemd/system/sonarqube.service
아래 내용을 추가:
ini
[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=sonarqube Group=sonarqube Restart=always LimitNOFILE=65536
[Install] WantedBy=multi-user.target
서비스 시작 및 활성화:
sudo systemctl daemon-reload sudo systemctl start sonarqube sudo systemctl enable sonarqube
5. SonarQube 웹 인터페이스 접속
SonarQube가 실행되면 브라우저에서 접속 가능합니다:
기본 관리자 계정:
첫 로그인 후 비밀번호를 변경하라는 메시지가 표시됩니다.
참고
sudo ufw allow 9000 # Ubuntu sudo firewall-cmd --add-port=9000/tcp --permanent # CentOS sudo firewall-cmd --reload