SonarQube is one of the popular static code analysis tool. SonarQube is java based tool along with back end
- back end can be MySQL, Oracle or PostgreSQL. We will use Postgres for
set up on Ubuntu.
Please find steps for installing SonarQube on Ubuntu EC2. Make sure port 9000 is opened in security group(firewall rule).
Let us start with java install (skip java install if you already have it installed)
1. Java steps
sudo apt-get update
sudo apt-get install default-jdk -y
Verify Java Version
java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
2. Postgres Installation
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/ repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo wget -q https://www.postgresql.org/med ia/keys/ACCC4CF8.asc -O - | sudo apt-key add -
sudo apt-get -y install postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql
Login as postgres user now
sudo su - postgres
Now create a user below
3. Now install SonarQube Web App
sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip
sudo apt-get -y install unzip
sudo unzip sonarqube-6.4.zip -d /opt
sudo mv /opt/sonarqube-6.4 /opt/sonarqube -v
Modify sonar.properties file
sudo vi /opt/sonarqube/conf/sonar.prop erties
uncomment the below lines by removing # and add values highlighted yellow
sonar.jdbc.username=sonar
sonar.jdbc.password=password
Next, uncomment the below line, removing #
sonar.jdbc.url=jdbc:postgresql ://localhost/sonar
Press escape, and enter :wq! to come out of the above screen.
Create Sonar as a service
Execute the below command:
sudo vi /etc/systemd/system/sonar.serv ice
add the below code in green color:
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/l inux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/li nux-x86-64/sonar.sh stop
User=root
Group=root
Restart=always
[Install]
WantedBy=multi-user.target
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/l
ExecStop=/opt/sonarqube/bin/li
User=root
Group=root
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable sonar
sudo systemctl start sonar
sudo systemctl status sonar
type q now to come out of this mode.
Now execute the below command to see if Sonarqube is up and running. This may take a few minutes.
tail -f /opt/sonarqube/logs/sonar.log
Make sure you get the below message that says sonarqube is up..
Now access sonarQube UI by going to browser and enter public dns name with port 9000
Now to go to browser --> http://your_SonarQube_publicdns_name:9000 /
Click here to learn how to integrate SonarQube with Jenkins.
Please watch above steps in myYouTube video as well:
Thanks ... quite useful ... Though i can open the sonarqube url , on logging in using sonar , password - authentication fails. please advise
ReplyDelete