- OS: linode Centos 7.0 64 bit, 4GB RAM, 3CPUs
- Sonarqube 5.6
- Gitlab ce version 8.17.4
- Sonar gitlab plugin 1.7
Sonarqube requires minimum 2G RAM for installing and running.
1.1. Install java 1.8
- Download the file: jdk-8u121-linux-x64.rpm here Java JDK 1.8
- After we go to above link, click on "Accept License Agreement" and copy the download url of the file: jdk-8u121-linux-x64.rpm
- Install Java jdk with rpm by running following commands as root
cd /tmp/
wget http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
rpm -ivh jdk-8u121-linux-x64.rpm
- After running above commands, Java jdk 1.8 will be installed
1.2. Install Sonarqube
- Download sonarqube 5.6
- Extract file zip sonarqube-5.6.6.zip
- Change database connection settings, check here
- Run command to start Sonarqube
You can find settings on the file : /var/www/sonarqube-5.6.6/conf/sonar.properties
sonar.jdbc.username=sonarqube
sonar.jdbc.password=mypassword
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
Commands:
cd /var/www/
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.6.zip
unzip sonarqube-5.6.6.zip
#after changing db setting on sonar.properties
bash /var/www/sonarqube-5.6.6/bin/linux-x86-64/sonar.sh start
- Sonarqube should be started now
Now go to the url : http://localhost:9000 you will see the homepage of sonarque
1.3. Install SonarPHP plugins
The SonarPHP plugins will analyze your php code and display the result on a statistic.
You can find the plugins for your programming language here
Commands :
wget -P /var/www/sonarqube-5.6.6/extensions/plugins/ https://sonarsource.bintray.com/Distribution/sonar-php-plugin/sonar-php-plugin-2.10.0.2087.jar
bash /var/www/sonarqube-5.6.6/bin/linux-x86-64/sonar.sh restart
1.4. Install and run sonarqube scanner
- Download the sonarqube scanner zip file here
- Extract file sonar-scanner-cli-3.0.0.702-linux.zip
- Change sonarqube scanner configuration
- Declare configurations for sonarqube scanner on your php project
- Start running scanner
Commands :
wget -P /var/www/ https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.0.702-linux.zip
Change config file: /var/www/sonar-scanner-3.0.0.702-linux/conf/sonar-scanner.properties On this file you need to correct the following information: database user, database pass and sonarqube url.
Create new file: sonar-project.properties in the root folder of php project. Please download sonarqube sample projects for more details.
sonar.projectKey=my:project
sonar.projectName=My project
sonar.projectVersion=1.0
sonar.sources=.
Then go to the root folder of project and run :
/var/www/sonar-scanner-3.0.0.702-linux/bin/sonar-scanner
Go to the http://ip:9000 you should see the new project on sonarqube now.
Install gitlab on centos 7
#1. Install and configure the necessary dependencies
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
#2. Add the GitLab package server and install the package
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
#3. Configure and start GitLab
sudo gitlab-ctl reconfigure
Now go to http://ip you will see gitlab now.
3.1 Install sonar gitlab plugin
- Download gitlab plugin
- Restart sonarquube
wget -P /var/www/sonarqube-5.6.6/extensions/plugins/ https://github.com/gabrie-allaigre/sonar-gitlab-plugin/releases/download/2.0.0-rc1/sonar-gitlab-plugin-2.0.0-rc1.jar
bash /var/www/sonarqube-5.6.6/bin/linux-x86-64/sonar.sh restart
3.2 Install gitlab runner
# For RHEL/CentOS
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-ci-multi-runner
sudo gitlab-ci-multi-runner register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
http://ip
Please enter the gitlab-ci token for this runner
xxx
Please enter the gitlab-ci description for this runner
my-runner
INFO[0034] fcf5c619 Registering runner... succeeded
Please enter the executor: shell, docker, docker-ssh, ssh?
shell
**32 How to use gitlab runner with sonarqube
- Create new file .gitlab-ci.yml in the root folder of php project
- Starting using gitlab plugins
Create .gitlab-ci.yml :
before_script:
- create-sonar-php
sonarqube_preview:
script:
- sonar-scanner -Dgpg.sign=false -Dsonar.host.url=http://ip:9000 -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.analysis.mode=preview -Dsonar.issuesReport.console.enable=true -Dsonar.gitlab.commit_sha=$CI_BUILD_REF -Dsonar.gitlab.ref_name=$CI_BUILD_REF_NAME
stage: test
sonarqube:
script:
- sonar-scanner -Dgpg.sign=false -Dsonar.host.url=http://ip:9000
stage: test
only:
- master
- https://docs.sonarqube.org/display/SONAR/Documentation
- https://about.gitlab.com/downloads/#centos7
- https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
- https://github.com/SonarSource/sonar-examples
- https://github.com/gabrie-allaigre/sonar-gitlab-plugin
- https://docs.gitlab.com/runner/install/linux-repository.html
- https://docs.gitlab.com/ce/ci/yaml/README.html