2015-03-09 3 views
4

Я хочу знать, есть ли способ запустить сервер SonarQube (5.0.1) с внешними файлами sonar.properties и wrapper.conf.Есть ли способ запустить сервер sonarqube с внешним файлом sonar.properties?

Я смотрю на что-то подобное апача "-f" вариант -

/apache2/bin/apachectl -f /path/to/httpd.conf 

Спасибо.

================================================================================================================================== ==========

Как уже упоминалось в ответе ниже, я попытался ссылаться на свойства с переменными окружения. Это работает для определенных свойств. ех. sonar.jdbc.username & sonar.jdbc.password

Это не сработало для меня как значение свойства, которое имеет несколько переменных окружения.

Ex. sonar.jdbc.url = JDBC: MySQL: // $ {ENV: MYSQL_HOST}: $ {ENV: MYSQL_PORT}/сонар = useUnicode = истинный & characterEncoding = utf8 & rewriteBatchedStatements = истинный

Вот исключение я? подвожу -

2015.03.17 11:48:33 INFO web[o.s.c.p.Database] Create JDBC datasource for= jdbc:mysql://${env:MYSQL_HOST}:${env:MYSQL_PORT}/sonar?useUnicode=3Dtrue&c= 
haracterEncoding=3Dutf8&rewriteBatchedStatements=3Dtrue 
2015.03.17 11:48:33 ERROR web[o.a.c.c.C.[.[.[/sonar]] Exception sending co= ntext initialized event to listener instance of class org.sonar.server.plat= form.PlatformServletContextListener 
java.lang.IllegalStateException: Can not connect to database. Please check = connectivity and settings (see the properties prefixed by 'sonar.jdbc.'). 

======================================== ==================

Я также попытался с наличием только одна переменная окружения -

$echo $MYSQL_DB_URL 
jdbc:mysql://devdbXXX:6000/sonar?useUnicode=true 

Получение это исключение -

--> Wrapper Started as Daemon 
Launching a JVM... 
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org 
    Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. 


WrapperSimpleApp: Encountered an error running main: org.sonar.process.MessageException: Bad format of JDBC URL: ${env:MYSQL_DB_URL} 
org.sonar.process.MessageException: Bad format of JDBC URL: ${env:MYSQL_DB_URL} 
<-- Wrapper Stopped 

Это работает, если я жёстко в MySQL хост URL.

Что-то делать с URL форматирования, Still отладки ...

ответ

4

В UBUNTU: Да, вы можете дать внешний файл. Если вы видите файл sonar.sh в sonarqube папку бен

#! /bin/sh 

# 
# Copyright (c) 1999, 2006 Tanuki Software Inc. 
# 
# Java Service Wrapper sh script. Suitable for starting and stopping 
# wrapped Java applications on UNIX platforms. 
# 

#----------------------------------------------------------------------------- 
# These settings can be modified to fit the needs of your application 

# Default values for the Application variables, below. 
# 
# NOTE: The build for specific applications may override this during the resource-copying 
# phase, to fill in a concrete name and avoid the use of the defaults specified here. 
DEF_APP_NAME="SonarQube" 
DEF_APP_LONG_NAME="SonarQube" 

# Application 
APP_NAME="${DEF_APP_NAME}" 
APP_LONG_NAME="${DEF_APP_LONG_NAME}" 

# Wrapper 
WRAPPER_CMD="./wrapper" 
WRAPPER_CONF="../../conf/wrapper.conf" 

# Priority at which to run the wrapper. See "man nice" for valid priorities. 
# nice is only used if a priority is specified. 
PRIORITY= 

# Location of the pid file. 
PIDDIR="." 

Вы можете определить путь файла обертку здесь WRAPPER_CONF= и sonar.properties вы можете создать ссылку на файл в папке sonarqube конф и перенаправить его на путь вы сохранили файл. Также более сложным вариантом является отредактировать приведенный выше файл start.sh, чтобы принять эти параметры в виде флагов. (Например, -sp для характеристик сонара и -wc для обертки conf)

+0

Создание ссылки на файл для sonar.properties похоже на изменение числа оборотов в минуту. Я ищу решение, в котором мне не нужно касаться структуры файла rpm. Спасибо за ваш ввод. Я проведу этот вариант. – Rishi

+0

моя проблема была специфична для файла sonar.properties, спасибо за ваши входы на wrapper conf. Создание rpm с sonkrqube с символической ссылкой не будет работать для меня, потому что цель меняется в зависимости от среды (dev/qa/prod и т. Д.). – Rishi

1

Значения в sonar.properties могут быть выведены из внешнего строя путем ссылки на переменные среды.

sonarqube/5.0.1/CONF/sonar.properties заголовок>

# Property values can: 
# - reference an environment variable, for example sonar.jdbc.url= ${env:SONAR_JDBC_URL} 

Похоже, необходим такой подход хотя бы манипуляции файла и решает проблему, когда я не хочу, чтобы жёстко значения свойств, как они меняются в соответствии с окружающей средой.