Preloader image
DDD

유틸리티

SonarQube는 코드 품질 관리 및 분석 도구 설치

작성자 관리자 (admin)
조회수 2,309
입력일 2024-12-12 06:56:52

SonarQube는 코드 품질 관리 및 분석 도구로, 리눅스 환경에서 설치하기 위해 몇 가지 단계를 수행해야 합니다. 아래는 Ubuntu/Debian 또는 CentOS 기반의 리눅스에서 SonarQube를 설치하는 일반적인 절차입니다.

1. 사전 요구 사항 확인

  1. Java: SonarQube는 Java 11 이상이 필요합니다. 설치되지 않았다면 OpenJDK 또는 Oracle JDK를 설치합니다.

    bash

    sudo apt update
    sudo apt install openjdk-11-jdk -y

    또는 CentOS:

    bash

    sudo yum install java-11-openjdk-devel -y

    설치 후 확인:

    bash

    java -version

  2. Database: SonarQube는 PostgreSQL, MySQL, Oracle 등을 지원합니다. PostgreSQL이 가장 일반적입니다.

    • PostgreSQL 설치:

      bash

      sudo apt install postgresql postgresql-contrib -y  # Ubuntu
      sudo yum install postgresql-server postgresql-contrib -y  # CentOS

    • PostgreSQL 초기화 및 시작:

      bash

      sudo systemctl enable postgresql
      sudo systemctl start postgresql

    • 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 설치

  1. SonarQube 다운로드: SonarQube의 최신 버전을 다운로드합니다. SonarQube 공식 웹사이트에서 버전을 확인합니다.

    bash

    wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-<version>.zip

  2. 압축 해제 및 디렉토리 이동:

    bash

    unzip sonarqube-<version>.zip
    sudo mv sonarqube-<version> /opt/sonarqube

  3. SonarQube 사용자 생성: SonarQube 실행을 위한 전용 사용자를 생성합니다.

    bash

    sudo useradd -r -d /opt/sonarqube -s /bin/bash sonarqube
    sudo chown -R sonarqube:sonarqube /opt/sonarqube

3. SonarQube 구성

  1. 설정 파일 편집: SonarQube 설정 파일을 수정합니다.

    bash

    sudo nano /opt/sonarqube/conf/sonar.properties

    아래 항목을 수정합니다:

    properties

    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

  2. 시스템 제약 완화 (성능 문제 방지):

    bash

    sudo nano /etc/sysctl.conf

    아래를 추가:

    conf

    vm.max_map_count=262144
    fs.file-max=65536

    적용:

    bash

    sudo sysctl -p

4. SonarQube 서비스 설정

  1. Systemd 서비스 파일 생성:

    bash

    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
     

  2. 서비스 시작 및 활성화:

    bash

    sudo systemctl daemon-reload
    sudo systemctl start sonarqube
    sudo systemctl enable sonarqube

5. SonarQube 웹 인터페이스 접속

SonarQube가 실행되면 브라우저에서 접속 가능합니다:

  • URL: http://<server_ip>:9000

기본 관리자 계정:

  • 사용자명: admin
  • 비밀번호: admin

첫 로그인 후 비밀번호를 변경하라는 메시지가 표시됩니다.

참고

  • 방화벽 설정이 활성화된 경우 포트 9000을 허용하세요:

    bash

    sudo ufw allow 9000  # Ubuntu
    sudo firewall-cmd --add-port=9000/tcp --permanent  # CentOS
    sudo firewall-cmd --reload

  • 설치 후 메모리와 CPU 요구사항을 충족하도록 SonarQube 서버를 적절히 튜닝하세요.