準(zhǔn)備環(huán)境
jdk1.8
mysql5.7
maven?3.3.9
下載sonar相關(guān)安裝包
服務(wù)端:
sonarqube:http://www.sonarqube.org/downloads/
客戶端工具:
sonar-runner:http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.3/sonar-runner-dist-2.4.zip
漢化:
中文漢化包:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.27谓着,下載之后將插件放到sonarqube的extensions/plugins目錄下旗国,重啟sonar即可围段。
將sonarqube漓库、sonar-runner包解壓到/usr/local/下
>>unzip?sonar-runner-dist-2.4.zip
>>unzip?sonarqube-7.7.zip
安裝mysql:
創(chuàng)建sonar數(shù)據(jù)庫
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' ;
mysql> CREATE USER 'sonar'@'localhost'? IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' ;
mysql> FLUSH PRIVILEGES;
修改配置文件
>>vim? ?/usr/local/sonarqube-7.7/conf/sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=snoar
sonar.jdbc.password=snoar
sonar.web.host=ip地址 #docker的IP
sonar.web.port=9000
>>vim /usr/local/sonarqube-7.7/conf/wrapper.conf
wrapper.java.command=/usr/bin/java ##把wrapper.java.command修改成本機(jī)的jdk1.8路徑
>>vim sonar-runner-2.4/conf/sonar-runner.properties
sonar.host.url=http://ip:9000
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
配置環(huán)境變量
>>vim ~/.zshrc
export SONAR_HOME=/usr/local/sonarqube-7.7
export SONAR_RUNNER_HOME=/usr/local/sonar-runner-2.4
export PATH=$PATH:$SONAR_RUNNER_HOME/bin
啟動(dòng)SonarQube
SonarQube不能以root用戶啟動(dòng)雷逆,所以必須先創(chuàng)建一個(gè)非root用戶
>>useradd sonar
>>chown -R sonar:sonar?sonarqube-7.7/
啟動(dòng):
?>>su sonar
>>./usr/local/sonarqube-6.7.4/bin/linux-x86-64/sonar.sh start
關(guān)閉:
>>./usr/local/sonarqube-6.7.4/bin/linux-x86-64/sonar.sh stop
查看啟動(dòng)日志:
>>tail -f /usr/local/sonarqube-7.7/logs/sonar.log
登錄http://ip:9000
Maven項(xiàng)目執(zhí)行sonar掃描
如下瓢对,在maven的 setting.xml中加入SonarQube連接的配置
<pluginGroups>
? ? ? <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
? <profile>
? ? ? ? ? <id>sonar</id>
? ? ? ? ? <activation>
? ? ? ? ? ? ? <activeByDefault>true</activeByDefault>
? ? ? ? ? </activation>
? ? ? ? ? <properties>
? ? ? ? ? ? ? <sonar.host.url>http://localhost:9000</sonar.host.url>
? ? ? ? ? ? ? <sonar.jdbc.url>
? ? ? ? ? ? ? jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
? ? ? ? ? ? ? </sonar.jdbc.url>
? ? ? ? ? <sonar.jdbc.username>sonar</sonar.jdbc.username>
? ? ? ? ? <sonar.jdbc.password>sonar</sonar.jdbc.password>
? ? ? ? ? </properties>
? </profile>
<profiles>
在需要掃描的目標(biāo)項(xiàng)目的pom.xml中引入sonar-maven-plugin 插件?
<plugin>
? ? <groupId>org.sonarsource.scanner.maven</groupId>
? ? <artifactId>sonar-maven-plugin</artifactId>
? ? <version>3.6.0.1398</version>
</plugin>
在項(xiàng)目根目錄下執(zhí)行如下命令逛犹,成功之后即可生成sonar報(bào)告,可以去 web頁面查看分析結(jié)果報(bào)告:
>>?mvn install sonar:sonar -DskipTests
或者 在mvn命令中指定sonar-maven-plugin:
>> mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar
Gradle項(xiàng)目執(zhí)行sonar掃描
在項(xiàng)目的根目錄下build.gradle里加入以下配置
buildscript {
? ? repositories {
? ? ? ? mavenCentral()
? //或者 maven {url "https://plugins.gradle.org/m2/"}
? ? }
? ? dependencies {
? ? ? ? classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1" //插件后面的版本號(hào)可配
? ? }
}
apply plugin: "org.sonarqube"
sonarqube{
? ? properties{
? ? ? ? property "sonar.host.url", "http://ip:9000"? ? //sonarqube 服務(wù)器地址
? ? ? ? property "sonar.sourceEncoding", "UTF-8"
? ? ? ? property "sonar.sources", "src"
? ? }
}
配置完成之后次企,在根目錄下執(zhí)行:
>>gradle sonarqube --info??
跳過測(cè)試 加 -x testgradle sonarqube -xtest
在docker上搭建Jenkins(已安裝jdk8)
安裝tomcat
1)mkdir -p /usr/local/tomcat8
2)cd /usr/local/tomcat8
3)wget http://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.41/bin/apache-tomcat-8.5.41.tar.gz ##tomcat壓縮包版本的版本可按需選擇
4)tar -zvxf apache-tomcat-8.5.38.tar.gz -C .
5)cd apache-tomcat-8.5.38/bin
6)./startup.sh #啟動(dòng)tomcat 或 ./shutdown.sh 停止tomcat
7)ps aux | grep tomcat ##查看tomcat是否啟動(dòng)成功
安裝Jenkins到webapps目錄下
>> wgethttp://mirrors.jenkins-ci.org/war/latest/jenkins.war -P /usr/local/tomcat8/apache-tomcat-8.5.41/webapps
訪問Jenkins主頁http://ip:8080/jenkins按說明初始化jenkins即可
1、關(guān)閉Jenkins
2潜圃、重啟Jenkins
http://ip:8080/jenkins/restart
3缸棵、重新加載配置信息