Giter VIP home page Giter VIP logo

sonarqube's Introduction

sonarqube

Installs and configures SonarQube server and the SonarQube Scanner. Provides a LWRP for for installing SonarQube plugins.

Requirements

Platforms

  • CentOS
  • Ubuntu

Tested on:

  • CentOS 6.4
  • Ubuntu 12.04

Dependencies

SonarQube requires JDK 1.7 or later. Use the Java Cookbook to install a suitable Oracle JDK or OpenJDK.

Recipes

default

Installs SonarQube Server and manages sonar.properties.

scanner

Installs SonarQube Scanner and manages sonar-runner.properties. Adds the SonarQube Scanner to all users' PATH via /etc/profile.d.

LWRP

sonarqube_plugin

This LWRP manages SonarQube plugins.

The :install action installs a SonarQube plugin to an existing SonarQube Server instance. Plugins are retrieved from SonarSource's distribution mirror. The plugin version must be specifed.

# Installs version 1.3 of the SonarQube Groovy plugin
sonarqube_plugin 'groovy' do
  version 1.3
end

The :uninstall action removes a SonarQube plugin.

sonarqube_plugin 'groovy' do
  version 1.3
  action :uninstall
end

Usage

SonarQube Server

On systems that should be SonarQube servers, add recipe[sonarqube] to the runlist.

By default, the SonarQube server will connect to an embedded H2 database. To connect to a different database, override:

  • node['sonarqube']['jdbc']['username']
  • node['sonarqube']['jdbc']['password']
  • node['sonarqube']['jdbc']['url']

SonarQube Scanner

On systems that need to invoke SonarQube analyses against an existing SonarQube Server (such as a CI machine), add recipe[sonarqube::scanner] to the runlist.

By default, the SonarQube Scanner will search for a SonarQube server running on localhost:9000. To connect to a different SonarQube Server, override:

  • node['sonarqube']['scanner']['host']['url']

If the SonarQube Server prohibits anonymous users from executing analyses, also override:

  • node['sonarqube']['scanner']['host']['username']
  • node['sonarqube']['scanner']['host']['password']

Advanced Attributes

Browse the attributes directory to view advanced attributes.

Notes

  • Does not run apt::default on Ubuntu
    • add apt::default to your run list before anything else if you need it (e.g. for the Java installation as described in the previous bullet)

Contributing

Prerequisites

chef gem install rubocop

Testing

Test changes using:

chef exec rake
chef exec kitchen verify

Publishing

chef exec knife cookbook site share sonarqube "Monitoring & Trending"

Author

Christian Willman [email protected]

License

MIT

sonarqube's People

Contributors

farrukhnajmi avatar jessepiccolo avatar pghalliday avatar psukhe avatar thecodeking avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sonarqube's Issues

Ability to configure SonarQube plugins broken by 53a4c49

The changes made in Commit 53a4c49 break the ability to configure any server properties that are not already anticipated in the properties file template. Specifically it now becomes impossible to specify LDAP plugin settings, or any other settings that another plug-in may add to the server config.

If one attempts to replace the sonar.properties file with a different one (base on our own template, custom to our needs) it results in a tug-o-war at every converge where the base sonarqube write the file one way, our cookbook writes it back to our way and the resulting change causes the service to restart.

Cannot download sonar-scanner, even with new binaries.sonarsource URL

The scanner recipe fails when trying to create the conf folder for sonar-scanner. The URL needs to be modified to contain 'sonar-scanner-cli-version.zip' because that's the way it is constructed but when it is downloaded, the folder is simply named 'sonar-scanner-version' without 'cli'

This is erroring out and I can't figure out any way around it.
Thanks!

Error downloading sonarqube-5.6.6.zip

Recipe does not work anymore.

We are having the following error:

remote_file[/var/chef/cache/sonarqube-5.6.6.zip] (sonarqube::default line 25) had an error: Net::HTTPServerException: 401 "Unauthorized"

Unable to install Sonar plugin

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

Error executing action `install` on resource 'sonarqube_plugin[javascript]'
============================================================================

Net::HTTPServerException
------------------------
remote_file[/opt/sonarqube-5.1.2/extensions/plugins/sonar-javascript-plugin-

2.7.jar] (/var/chef/cache/cookbooks/sonarqube/resources/plugin.rb line 15) had a
n error: Net::HTTPServerException: 404 "Not Found"

Default mirror needs updating: codehaus.org is defunct.

Now the codehaus.org has shut down, sonarqube is being hosted on bintray. The current values that work for me are

default['sonarqube']['mirror'] = 'https://sonarsource.bintray.com/Distribution/sonarqube/'
default['sonarqube']['version'] = '5.1.2'
default['sonarqube']['checksum'] = 'a8d63d837242d0d07c0b3f65cfa9c84d5ae82ee51c6cbb52248bcf0d1bc58491'

Not sure if the Distribution/sonarqube part should be considered part of the mirror or not but at least the above works w/o having to modify the recipe.

Is this repo still active?

Hi @willmanio. Thank you so much for your work on this repo. I was just wondering is this repo still active? There's a number of open PRs and I use your chef cookbook. I was planning to fork it and merge all the PRs to get the latest one but thought I'd ping you first. If it's maintained here it's even easier for me.

Please let me know!

Thank you and happy new year.

Sonhrqube restarts with each Chef converge

I'm using the sonarqube::default recipe to install Sonar along side our Jenkins installation. Every 15 minutes when the node converges, Sonar is restarted. I think the problem is here:

service 'sonarqube' do
  supports restart: true, reload: false, status: true
  action [:enable, :start]
end

Doesn't having :start in the action line cause it to start each time the node converged? Or am I missing something?

Recipe fails compile phase on Ubuntu 14.04 (trusty)

Compiling Cookbooks...

================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/sonarqube/resources/plugin.rb
================================================================================

NoMethodError
-------------
undefined method `property' for #<Class:0x0000000696b350>

Cookbook Trace:
---------------
  /var/chef/cache/cookbooks/sonarqube/resources/plugin.rb:1:in `class_from_file'

Relevant File Content:
----------------------
/var/chef/cache/cookbooks/sonarqube/resources/plugin.rb:

  1>> property :plugin_name, String, name_property: true
  2:  property :version, String
  3:
  4:  actions :install, :uninstall
  5:  default_action :install
  6:
  7:  sonarqube_user = node['sonarqube']['user']
  8:  sonarqube_group = node['sonarqube']['group']
  9:
 10:  action :install do

SonarQube 5.6.1 LTS is available

Hi

I am still fairly new to Chef so I don't feel ready to start contributing using RuboCop/Rake etc. as proposed in your README.md file. However, I was able to install the latest LTS version of SonarQube (5.6.1) by changing these two lines in attributes.rb:

default['sonarqube']['version'] = '5.6.1'
default['sonarqube']['checksum'] = '9cb74cd00904e7c804deb3b31158dc8651a41cbe07e9253c53c9b11c9903c9b1'

That may be a good candidate for v0.3.4 of your cookbook :)

Need ability to not automatically configure jdbc.

The current default cookbook automatically configures JDBC. This is problematic in that it requires that the password be placed in a node attribute, making it visible anyone who can run node searches with knife.

I have attempted to simply leave the attributes at their default and set the real password elsewhere but this results in a tug-o-war where the default recipe sets one value then my cookbook sets another value. This causes the sonar.conf file to change on every chef run and hence the service gets restarted every chef run.

This is a simple enough issue that I can send in a PR for it, but before I do that, what would be preferred:

  1. Simply remove this code from the default recipe and require that people call the jdbc resource themselves. (I prefer this because I think it is the only option that really makes sense in a production environment.) This also implies the the default jdbc attributes can be removed. Implementors can pick whatever means they want to get the needed values (chef-vault for instance).
  2. Add logic to skip the jdbc configuration if the ['sonarqube']['jdbc'] attribute is nil.
  3. Add an additional attribute that acts as a flag to turn this functionality on or off.

Need a general configuration resource

@pghalliday, you were so gracious and expedient with fix for Issue 3 that am encourage to ask for one more feature. The jdbc resource is nice and all but it pretty limitted. It would be great if there was a general purpose resource for setting any value in the config file, or ideally a block of config values all at once (for example the sonar.security and ldap values for the LDAP plugin)

A simpler though less handy solution would simply be to expose the location of the install as node property so that we can get at the /conf directory ourselves without needing any magic knowledge of the internals of the sonarqube cookbook.

Now I am asking for the moon, but to completely round out this cookbook, a resource to set properties stored on the properties table in the database, and the ability to set encrypted property values would be killer features. ;-)

Allow running as a user other than root.

Presently the cookbook installs SonarQube such that it runs as root. It would be nice if there were a sonarqube.user attribute that could specify the account under which SonarQube will be run.

"BindException: Address already in use" on port 9000

I am using "include_recipe 'sonarqube'" in my own recipe with no customization. I provision a VM with my using the Vagrantfile. There are no errors reported.

However, the service fails to start though no error is given in "BindException: Address already in use" on port 9000. If I ssh to server and restart the srevice using "sudo service sonarqube restart" then all is well.

Here is my complete sonar.log:

`
--> 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.

TERM trapped. Shutting down.
2017.02.17 13:29:03 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[search]: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/sonarqube-5.1.2/temp -cp ./lib/common/:./lib/search/ org.sonar.search.SearchServer /tmp/sq-process6589296705462659197properties
2017.02.17 13:29:04 INFO es[o.s.p.ProcessEntryPoint] Starting search
2017.02.17 13:29:04 INFO es[o.s.s.SearchServer] Starting Elasticsearch[sonarqube] on port 9001
2017.02.17 13:29:05 INFO es[o.elasticsearch.node] [sonar-1487338143073] version[1.4.4], pid[20471], build[c88f77f/2015-02-19T13:05:36Z]
2017.02.17 13:29:05 INFO es[o.elasticsearch.node] [sonar-1487338143073] initializing ...
2017.02.17 13:29:05 INFO es[o.e.plugins] [sonar-1487338143073] loaded [], sites []
2017.02.17 13:29:05 INFO app[o.s.p.m.TerminatorThread] Process[search] is stopping
2017.02.17 13:29:06 INFO es[o.s.p.StopWatcher] Stopping process
2017.02.17 13:29:09 INFO es[o.elasticsearch.node] [sonar-1487338143073] initialized
2017.02.17 13:29:09 INFO es[o.elasticsearch.node] [sonar-1487338143073] starting ...
2017.02.17 13:29:10 INFO es[o.e.transport] [sonar-1487338143073] bound_address {inet[/0.0.0.0:9001]}, publish_address {inet[/10.0.2.15:9001]}
2017.02.17 13:29:10 INFO es[o.e.discovery] [sonar-1487338143073] sonarqube/UJhMVtG8SeSxAJYIbuN06g
2017.02.17 13:29:13 INFO es[o.e.cluster.service] [sonar-1487338143073] new_master [sonar-1487338143073][UJhMVtG8SeSxAJYIbuN06g][altran-dev-server-berkshelf][inet[/10.0.2.15:9001]]{rack_id=sonar-1487338143073}, reason: zen-disco-join (elected_as_master)
2017.02.17 13:29:13 INFO es[o.elasticsearch.node] [sonar-1487338143073] started
2017.02.17 13:29:13 INFO es[o.e.gateway] [sonar-1487338143073] recovered [0] indices into cluster_state
2017.02.17 13:29:13 INFO app[o.s.p.m.Monitor] Process[search] is up
2017.02.17 13:29:13 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[web]: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/opt/sonarqube-5.1.2/temp -cp ./lib/common/:./lib/server/:/opt/sonarqube-5.1.2/lib/jdbc/h2/h2-1.3.176.jar org.sonar.server.app.WebServer /tmp/sq-process2324961283969276334properties
2017.02.17 13:29:13 INFO app[o.s.p.m.TerminatorThread] Process[search] is stopped
<-- Wrapper Stopped
--> 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.

TERM trapped. Shutting down.
2017.02.17 13:29:15 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[search]: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/sonarqube-5.1.2/temp -cp ./lib/common/:./lib/search/ org.sonar.search.SearchServer /tmp/sq-process4184996437937254819properties
2017.02.17 13:29:16 INFO es[o.s.p.ProcessEntryPoint] Starting search
2017.02.17 13:29:16 INFO es[o.s.s.SearchServer] Starting Elasticsearch[sonarqube] on port 9001
2017.02.17 13:29:16 INFO es[o.elasticsearch.node] [sonar-1487338155118] version[1.4.4], pid[20894], build[c88f77f/2015-02-19T13:05:36Z]
2017.02.17 13:29:16 INFO es[o.elasticsearch.node] [sonar-1487338155118] initializing ...
2017.02.17 13:29:16 INFO es[o.e.plugins] [sonar-1487338155118] loaded [], sites []
2017.02.17 13:29:17 INFO app[o.s.p.m.TerminatorThread] Process[search] is stopping
2017.02.17 13:29:18 INFO es[o.s.p.StopWatcher] Stopping process
2017.02.17 13:29:20 INFO es[o.elasticsearch.node] [sonar-1487338155118] initialized
2017.02.17 13:29:20 INFO es[o.elasticsearch.node] [sonar-1487338155118] starting ...
2017.02.17 13:29:21 INFO es[o.e.transport] [sonar-1487338155118] bound_address {inet[/0.0.0.0:9001]}, publish_address {inet[/10.0.2.15:9001]}
2017.02.17 13:29:21 INFO es[o.e.discovery] [sonar-1487338155118] sonarqube/RFyE3X-qRM6FsSETTvEU9w
2017.02.17 13:29:24 INFO es[o.e.cluster.service] [sonar-1487338155118] new_master [sonar-1487338155118][RFyE3X-qRM6FsSETTvEU9w][altran-dev-server-berkshelf][inet[/10.0.2.15:9001]]{rack_id=sonar-1487338155118}, reason: zen-disco-join (elected_as_master)
2017.02.17 13:29:24 INFO es[o.elasticsearch.node] [sonar-1487338155118] started
2017.02.17 13:29:24 INFO es[o.e.gateway] [sonar-1487338155118] recovered [0] indices into cluster_state
2017.02.17 13:29:24 INFO app[o.s.p.m.Monitor] Process[search] is up
2017.02.17 13:29:24 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[web]: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/opt/sonarqube-5.1.2/temp -cp ./lib/common/:./lib/server/:/opt/sonarqube-5.1.2/lib/jdbc/h2/h2-1.3.176.jar org.sonar.server.app.WebServer /tmp/sq-process3900098487714723975properties
2017.02.17 13:29:24 INFO app[o.s.p.m.TerminatorThread] Process[search] is stopped
<-- Wrapper Stopped
--> 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.

2017.02.17 13:29:27 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[search]: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.:
tmpdir=/opt/sonarqube-5.1.2/temp -cp ./lib/common/:./lib/search/ org.sonar.search.SearchServer /tmp/sq-process5203813950523445718properties
2017.02.17 13:29:28 INFO es[o.s.p.ProcessEntryPoint] Starting search
2017.02.17 13:29:28 INFO es[o.s.s.SearchServer] Starting Elasticsearch[sonarqube] on port 9001
2017.02.17 13:29:28 INFO es[o.elasticsearch.node] [sonar-1487338166395] version[1.4.4], pid[21098], build[c88f77f/2015-02-19T13:05:36Z]
2017.02.17 13:29:28 INFO es[o.elasticsearch.node] [sonar-1487338166395] initializing ...
2017.02.17 13:29:28 INFO es[o.e.plugins] [sonar-1487338166395] loaded [], sites []
2017.02.17 13:29:32 INFO es[o.elasticsearch.node] [sonar-1487338166395] initialized
2017.02.17 13:29:32 INFO es[o.elasticsearch.node] [sonar-1487338166395] starting ...
2017.02.17 13:29:33 INFO es[o.e.transport] [sonar-1487338166395] bound_address {inet[/0.0.0.0:9001]}, publish_address {inet[/10.0.2.15:9001]}
2017.02.17 13:29:33 INFO es[o.e.discovery] [sonar-1487338166395] sonarqube/XArLgQ6RRdmszFPzn7cMYg
2017.02.17 13:29:36 INFO es[o.e.cluster.service] [sonar-1487338166395] new_master [sonar-1487338166395][XArLgQ6RRdmszFPzn7cMYg][altran-dev-server-berkshelf][inet[/10.0.2.15:9001]]{rack_id=sonar-1487338166395}, reason: zen-disco-join (elected_as_master)
2017.02.17 13:29:36 INFO es[o.elasticsearch.node] [sonar-1487338166395] started
2017.02.17 13:29:36 INFO es[o.e.gateway] [sonar-1487338166395] recovered [0] indices into cluster_state
2017.02.17 13:29:36 INFO app[o.s.p.m.Monitor] Process[search] is up
2017.02.17 13:29:36 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[web]: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/opt/sonarqube-5.1.2/temp -cp ./lib/common/:./lib/server/:/opt/sonarqube-5.1.2/lib/jdbc/h2/h2-1.3.176.jar org.sonar.server.app.WebServer /tmp/sq-process7363475409420380159properties
2017.02.17 13:29:37 INFO web[o.s.p.ProcessEntryPoint] Starting web
2017.02.17 13:29:37 INFO web[o.s.s.app.Webapp] Webapp directory: /opt/sonarqube-5.1.2/web
2017.02.17 13:29:38 INFO web[o.a.c.h.Http11NioProtocol] Initializing ProtocolHandler ["http-nio-0.0.0.0-9000"]
2017.02.17 13:29:38 ERROR web[o.a.c.h.Http11NioProtocol] Failed to initialize end point associated with ProtocolHandler ["http-nio-0.0.0.0-9000"]
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.7.0_121]
at sun.nio.ch.Net.bind(Net.java:463) ~[na:1.7.0_121]
at sun.nio.ch.Net.bind(Net.java:455) ~[na:1.7.0_121]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.7.0_121]
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.7.0_121]
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:343) ~[tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:730) ~[tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457) ~[tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.connector.Connector.initInternal(Connector.java:960) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:340) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:62) [sonar-server-5.1.2.jar:na]
at org.sonar.server.app.WebServer.start(WebServer.java:40) [sonar-server-5.1.2.jar:na]
at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:77) [sonar-process-5.1.2.jar:na]
at org.sonar.server.app.WebServer.main(WebServer.java:66) [sonar-server-5.1.2.jar:na]
2017.02.17 13:29:38 ERROR web[o.a.c.c.StandardService] Failed to initialize connector [Connector[HTTP/1.1-9000]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-9000]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567) ~[tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:340) [tomcat-embed-core-8.0.18.jar:8.0.18]
at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:62) [sonar-server-5.1.2.jar:na]
at org.sonar.server.app.WebServer.start(WebServer.java:40) [sonar-server-5.1.2.jar:na]
at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:77) [sonar-process-5.1.2.jar:na]
at org.sonar.server.app.WebServer.main(WebServer.java:66) [sonar-server-5.1.2.jar:na]
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:962) ~[tomcat-embed-core-8.0.18.jar:8.0.18]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) [tomcat-embed-core-8.0.18.jar:8.0.18]
... 10 common frames omitted
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.7.0_121]
at sun.nio.ch.Net.bind(Net.java:463) ~[na:1.7.0_121]
at sun.nio.ch.Net.bind(Net.java:455) ~[na:1.7.0_121]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.7.0_121]

`

Bug in Scanner recipe

There is a bug in the Scanner recipe.
In recipes/scanner.rb need to change line 14 to be:
sonarqube_scanner_properties_file = "#{sonarqube_scanner_root_dir}/conf/sonar-scanner.properties"
and line 48 to be:
source 'sonar-scanner.properties.erb'

Unable to connect to a different database by just overriding jdbc attributes.

ReadMe says by overriding:
node['sonarqube']['jdbc']['username']
node['sonarqube']['jdbc']['password']
node['sonarqube']['jdbc']['url']
we should be able to connect to different database.
But for me along with overriding the attributes I have to also comment lines 34 and 36 in sonar.properties file to connect to a different database.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.