이 문서는 복수개의 SonarQube instance를 하나의 OS에 설치하는 방법을 정리한다.
시스템 설정
설치 파일 준비
본 예는 /opt 하위에 SonarQube 를 설치한다.
SonarQube가 사용하는 포트를 다중 인스턴스를 고려해 구성한다.
<install-dir>/conf/sonar.properties
port | sonaqueb-a | sonarqube-b | ... |
---|---|---|---|
sonar.web.port | 9000 | 9100 | |
sonar.search.port | 9001 | 9101 | |
sonar.embeddedDatabase.port (H2DB 사용시) | 9092 | 9192 |
Windows의 경우 다중 인스턴스 가능하다록 설정
<install-dir>/conf/wrapper.conf
wrapper.single_invocation=false |
SonarQube가 사용하는 포트를 다중 인스턴스를 고려해 구성한다.
<install-dir>/conf/sonar.properties
port | sonaqueb-a | sonarqube-b | ... |
---|---|---|---|
sonar.web.port | 9000 | 9100 | |
sonar.search.port | 9001 | 9101 | |
sonar.embeddedDatabase.port (H2DB 사용시) | 9092 | 9192 |
<install-dir>/elasticsearch/config/elasticsearch.yml
port | sonaqueb-a | sonarqube-b | ... |
---|---|---|---|
http.port | 9200 | 9210 |
다음 로직을 주석 처리하거나 삭제는 하나의 서버 인스턴스만 하면되며, 이때 주석처리 되지 않은 인스턴스부터 실행한다.
<install-dir>/bin/windows-x86-64/StartSonar.bat
start() { echo "Starting $APP_NAME..." # # getpid # if [ "X$pid" = "X" ] # then # exec nohup $COMMAND_LINE >../../logs/nohup.log 2>&1 & # echo $! > $PIDFILE # else # echo "$APP_NAME is already running." # exit 1 # fi # |
<install-dir>/bin/windows-x86-64/StartSonar.bat
rem call :check_if_sonar_is_running FAIL || goto:eof |