OpenShift SonarQube

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

SonarQube is an open source code analysis tool. It can be invoked via Maven or Jenkis plug-ins.

Installation

Installation from Template

Preferred method.

https://github.com/NovaOrdis/playground/blob/master/openshift/templates/sonarqube-template.yaml
oc process -f https://raw.githubusercontent.com/NovaOrdis/playground/master/openshift/templates/sonarqube-template.yaml | oc create -f -

Manual Installation

Install PostgreSQL and create a "sonar" database:

OpenShift PostgreSQL Installation

Apply the template

oc process -f ./sonar.yaml \
  --param APPLICATION_NAME=sonar \
  --param SONARQUBE_JDBC_USERNAME=sonar \
  --param SONARQUBE_JDBC_PASSWORD=<replace-with-actual-password> \
  --param POSTGRESQL_DATABASE=sonar \
  --param POSTGRESQL_SERVICE=sonar-postgresql \
  --param STORAGE_SIZE_GB=2 \
 | oc create -f -
oc rollout pause dc sonar
oc expose service sonar --port=9000
oc set probe dc/sonar --liveness --failure-threshold 3 --initial-delay-seconds 40 -- echo ok
oc set probe dc/sonar --readiness --failure-threshold 3 --initial-delay-seconds 20 --get-url=http://:9000/about
oc set resources dc/sonar --limits=memory=2Gi --requests=memory=1Gi

Memory is important.

oc rollout resume dc sonar

Operations