SonarQube 설치 및 설정

DevOps|2014. 8. 5. 22:23

MySQL Database

설치

MySQL 다운로드 페이지에서 설치 파일을 받아서 설치하거나, 아래 링크의 글에서 MySQL 설치 절을 참고하여 MySQL을 설치합니다.

MySQL 5.0.45 원하는 위치에 수동 설치 및 윈도 서비스로 등록 하기

여기에서는 윗 글을 참고하여 수동 설치 했으며, 오래된 5.0.45 버전 대신 5.1 대의 최신 버전인 5.1.73 버전을 사용했습니다.

설정

SonarQube 설치 문서에서 InnoDB 사용을 권장하고 있기 때문에 my.ini 파일의 [mysqld] 옵션을 아래와 같이 수정했습니다.

query_cache_type, query_cache_size 옵션을 추가했고, innodb 관련 옵션(innodb_*)은 값을 수정한 부분이 많습니다.

innodb_data_home_dir, innodb_log_group_home_dir 경로는 본인의 설치 경로에 맞게 수정해 주세요.

[mysqld]
port        = 3306
socket      = MySQL
skip-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
query_cache_type = 1
query_cache_size = 32M

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking
server-id   = 1

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# binary logging format - mixed recommended
#binlog_format=mixed

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = D:\\dev\\tool\\mysql\\data\\
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = D:\\dev\\tool\\mysql\\data\\
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 32M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

이제 명령 프롬프트를 하나 띄우고 database 스크립트 파일을 다운로드 받은 후 실행합니다.

D:\dev\tool\mysql\bin> mysql -u root -p < create_database.sql

sonar라는 이름의 Database와 사용자가 MySQL에 생성돼 있으면 스크립트가 잘 실행된 겁니다.

SonarQube

다운로드

아래 링크에서 SonarQube 4.4 버전을 다운로드 받아서 설치합니다. 만약 4.4 버전이 보이지 않으면 “Show all versions” 링크를 누르면 이전 버전이 보입니다.

http://www.sonarqube.org/downloads/

원하는 곳에 다운로드 받은 압축파일을 해제하면 설치는 완료입니다.

설정

SonarQube 설치 디렉토리 하위의 conf 디렉토리에 있는 sonar.properties 파일을 텍스트에디터로 엽니다. 아래와 같이 H2 database 관련 sonar.jdbc.url은 주석 처리하고, MySQL database 쪽의 주석은 없앱니다.

# Comment the following line to deactivate the default embedded database.
#sonar.jdbc.url=jdbc:h2:tcp://localhost:9092/sonar

# directory containing H2 database files. By default it's the /data directory in the SonarQube installation.
#sonar.embeddedDatabase.dataDir=
# H2 embedded database server listening port, defaults to 9092
#sonar.embeddedDatabase.port=9092


#----- MySQL 5.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

실행

SonarQube 설치 디렉토리 하위의 bin 디렉토리에는 각 플랫폼 별로 디렉토리가 구분되어 있습니다. 각자의 플랫폼에 맞는 디렉토리에 있는 실행파일로 SonarQube를 실행할 수 있습니다.

저는 Win32라서 [설치 디렉토리]\bin\windows-x86-32\StartSonar.bat 파일로 실행할 수 있었습니다.

MySQL을 먼저 실행한 후 SonarQube를 실행합니다. SonarQube 콘솔 창에 다음과 같이 웹서버가 시작되었다는 메시지가 나온 후, 브라우저에서 http://localhost:9000/에 접속하면 SonarCube Dashboards를 볼 수 있습니다.

wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    |
jvm 1    | 2014.08.05 13:58:09 INFO  Web server is started

이제 관리자 계정(admin/admin)으로 로그인한 후 플러그인 설치 등의 작업을 진행하면 됩니다.

댓글()