diff --git a/.travis.yml b/.travis.yml index 06f587eb..c0f778a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,15 +6,13 @@ before_install: - rm -f Gemfile.lock rvm: - - "2.0.0" + - "2.3.1" env: - PUPPET_VERSION="~> 3.7.0" - PUPPET_VERSION="~> 3.6.0" - PUPPET_VERSION="~> 3.5.0" - PUPPET_VERSION="~> 3.4.0" - - PUPPET_VERSION="~> 3.3.0" - - PUPPET_VERSION="~> 3.2.0" matrix: exclude: @@ -38,6 +36,10 @@ matrix: env: PUPPET_VERSION="~> 3.3.0" - rvm: 2.1.0 env: PUPPET_VERSION="~> 3.4.0" + - rvm: 2.1.0 + env: PUPPET_VERSION="~> 3.2.0" + - rvm: 2.1.0 + env: PUPPET_VERSION="~> 3.3.0" deploy: provider: puppetforge diff --git a/Gemfile b/Gemfile index e99ec537..e9674706 100644 --- a/Gemfile +++ b/Gemfile @@ -13,5 +13,6 @@ gem 'simplecov', :require => false gem 'puppet-blacksmith', '>= 3.3.1', :require => false gem 'librarian-puppet', '>= 2.0.0', :require => false gem 'beaker-rspec', '>= 3.0.0', :require => false +gem 'safe_yaml', '~> 1.0.4' # vim:ft=ruby diff --git a/manifests/init.pp b/manifests/init.pp index 3a96b781..39fd17ec 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -19,9 +19,11 @@ $service = 'sonar', $installroot = '/usr/local', $home = undef, + $data_dir = undef, + $temp_dir = undef, $host = undef, $port = 9000, - $portAjp = -1, + $portajp = -1, $download_url = 'https://sonarsource.bintray.com/Distribution/sonarqube', $download_dir = '/usr/local/src', $context_path = '/', @@ -42,8 +44,9 @@ min_evictable_idle_time_millis => '600000', time_between_eviction_runs_millis => '30000', }, - $log_folder = '/var/local/sonar/logs', + $log_folder = undef, $updatecenter = true, + $updatecenter_url = 'http://update.sonarsource.org/update-center.properties', $http_proxy = {}, $profile = false, $web_java_opts = undef, @@ -51,6 +54,10 @@ $search_host = '127.0.0.1', $search_port = '9001', $config = undef, + $path = { + data_dir => undef, + temp_dir => undef, + }, ) inherits sonarqube::params { validate_absolute_path($download_dir) Exec { @@ -71,6 +78,19 @@ } else { $real_home = '/var/local/sonar' } + + if $path[data_dir] != undef { + $real_data_dir = $path[data_dir] + } else { + $real_data_dir = "${real_home}/data" + } + + if $log_folder != undef { + $real_log_folder = $log_folder + } else { + $real_log_folder = '/var/local/sonar/logs' + } + Sonarqube::Move_to_home { home => $real_home, } @@ -125,8 +145,48 @@ target => "${installroot}/${package_name}-${version}", notify => Service['sonarqube'], } - -> - sonarqube::move_to_home { 'data': } + if $path[data_dir] != undef { + exec { 'create_data_dir': + command => "mkdir -p ${real_data_dir}", + creates => $real_data_dir, + require => File[$real_home], + } + -> + file { $real_data_dir: + ensure => directory, + owner => $user, + group => $group, + } + } + if $path[temp_dir] != undef { + exec { 'create_temp_dir': + command => "mkdir -p ${path[temp_dir]}", + creates => $path[temp_dir], + require => File[$real_home], + } + -> + file { $path[temp_dir]: + ensure => directory, + owner => $user, + group => $group, + } + } + if $log_folder != undef { + exec { 'create_log_folder': + command => "mkdir -p ${real_log_folder}", + creates => $real_log_folder, + require => File[$real_home], + } + -> + file { $real_log_folder: + ensure => directory, + owner => $user, + group => $group, + } + } + sonarqube::move_to_home { 'data': + require => File[$real_home], + } -> sonarqube::move_to_home { 'extras': } -> @@ -136,7 +196,8 @@ -> # ===== Install SonarQube ===== exec { 'untar': - command => "unzip -o ${tmpzip} -d ${installroot} && chown -R ${user}:${group} ${installroot}/${package_name}-${version} && chown -R ${user}:${group} ${real_home}", + command => "unzip -o ${tmpzip} -d ${installroot} && chown -R \ + ${user}:${group} ${installroot}/${package_name}-${version} && chown -R ${user}:${group} ${real_home}", creates => "${installroot}/${package_name}-${version}/bin", notify => Service['sonarqube'], } diff --git a/templates/logback.xml.erb b/templates/logback.xml.erb index f583ee5f..56a87596 100644 --- a/templates/logback.xml.erb +++ b/templates/logback.xml.erb @@ -22,9 +22,9 @@ - <%= @log_folder %>/sonar.log + <%= @real_log_folder %>/sonar.log - + @@ -48,9 +48,9 @@ <%= "