Jenkins + sonar + cobertura

Jenkins 基本操作

1、關(guān)閉Jenkins

? 只需要在訪問jenkins服務(wù)器的網(wǎng)址url地址后加上exit和二。例如我jenkins的地址http://localhost:8080/边涕,那么我只需要在瀏覽器地址欄上敲下http://localhost:8080/exit 網(wǎng)址就能關(guān)閉jenkins服務(wù).

2蚊逢、重啟Jenkies

http://localhost:8080/restart

3聂宾、重新加載配置信息

? http://localhost:8080/reload

Jenkins 插件下載地址(包含多版本)

http://updates.jenkins-ci.org/download/plugins/

  • 自己上傳插件并安裝(見下面 jenkins 安裝配置 sonar 插件)

sonar 安裝與使用

安裝

  • 下載解壓

sonar 下載地址:https://www.sonarqube.org/downloads/

unzip sonarqube-6.7.7.zip

  • 指定 jdk 1.8(如果系統(tǒng)環(huán)境變量已經(jīng)是1.8忽略此步)

下載好sonarQube后夕膀,解壓打開conf目錄,修改 wrapper.conf

# Path to JVM executable. By default it must be available in PATH.
# Can be an absolute path, for example:
#wrapper.java.command=/path/to/my/jdk/bin/java
wrapper.java.command=java
  • 啟動 sonar
[root@localhost sonarqube-6.7.7]# ./bin/linux-x86-64/sonar.sh start
Starting SonarQube...
SonarQube is already running.
# 啟動失敗的原因可能是權(quán)限問題
  • 觀察啟動日志
[root@localhost sonarqube-6.7.7]# tail -200f ./logs/sonar.log
  • 訪問:localhost:9000

配置

  • mysql 添加 sonar 用戶

安裝mysql,可以是遠(yuǎn)程連接(注:mysql版本需要是5.6+

SonarQube 默認(rèn)服務(wù)端口為 9000美侦,默認(rèn)數(shù)據(jù)庫為 h2产舞,這些都是可以修改配置的,我們只需要修改<install_dir>/conf/sonar.properties文件即可菠剩。以修改配置 Mysql 數(shù)據(jù)庫為例:

1易猫、修改 sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
# 以下自己需要可以設(shè)置
#sonar.web.host=你的本地IP
#sonar.web.context=/sonar
#sonar.web.port=9000

2、本地 Mysql 創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

3具壮、本地 Mysql 創(chuàng)建用戶并分配權(quán)限
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%' IDENTIFIED BY 'sonar' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 重啟服務(wù)准颓,觀察日志
[root@localhost sonarqube-6.7.7]# ./bin/linux-x86-64/sonar.sh restart
[root@localhost sonarqube-6.7.7]# tail -200f ./logs/sonar.log

未修改數(shù)據(jù)庫使用 h2 的啟動日志:

2019.06.04 06:57:04 INFO  app[][o.s.a.p.ProcessLauncherImpl] ...:/usr/local/sonarqube-6.7.7/lib/jdbc/h2/h2-1.3.176.jar org.sonar.ce.app.CeServer /usr/local/sonarqube-6.7.7/temp/sq-process5742909867491483230properties

使用 mysql 后的的啟動日志:

2019.06.04 07:14:24 INFO  app[][o.s.a.p.ProcessLauncherImpl] ...:/usr/local/sonarqube-6.7.7/lib/jdbc/mysql/mysql-connector-java-5.1.42.jar org.sonar.ce.app.CeServer /usr/local/sonarqube-6.7.7/temp/sq-process3499505084016070096properties

簡單使用

默認(rèn)用戶名是 admin,密碼 admin

  • 登入會提示生成 token棺妓,后面在 Jenkins 和 Sonar 集成的時候需要用到攘已。
token.PNG

name:jiaflu

token:e911bcba9ebec800d2f212ce4fa13d8b02f2bac4

Jenkins 安裝配置 sonar 插件

  • 安裝 SonarQube Scanner 插件

Manages Jenkins --> Manage Plugins

jenkins安裝sonar插件.PNG

若安裝失敗可以先下載再上傳插件安裝:

下載地址:https://updates.jenkins.io/download/plugins/sonar/

版本:2.4.3

Advanced:

upload_plugin.PNG
  • Jenkins Sonar 配置

Manages Jenkins --> Configure System

jenkins_sonar配置.PNG
  • SonarQube Scanner 配置

Manages Jenkins --> Global Tool Configuration

sonarqube_scanner.PNG
  • Sonar 中質(zhì)量指標(biāo)(度量)

https://blog.csdn.net/lxlmycsdnfree/article/details/80166335

  • Jenkins 所使用的 maven 配置,conf/settings.xml,不配置的話在執(zhí)行 maven 命令的時候默認(rèn) sonar host 為 http://localhost:9000
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- 配置 Sonar Host地址怜跑,默認(rèn):http://localhost:9000 -->
                <sonar.host.url>
                  http://localhost:9000
                </sonar.host.url>
            </properties>
        </profile>
    </profiles>

jenkins 集成 sonarqube 生成測試覆蓋率報告

額外需要的插件

  • Cobertura 1.9.8
  • Junit

構(gòu)建一個 freestyle 的項目

配置截圖如下:

  • Source Code Management
sonar_Source.PNG
  • Build
sonar_build.PNG
  • Post-build Actions

build 后 sonarqube 上的結(jié)果

build_sonar_result.PNG

項目配置問題

maven 配置 setting.xml

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- 配置 Sonar Host地址样勃,默認(rèn):http://localhost:9000 -->
                <sonar.host.url>
                  http://myserver:9000
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>

修改 maven3 項目的默認(rèn)編譯級別(compile level),修改項目 pom.xml,僅在修改項目上生效

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末性芬,一起剝皮案震驚了整個濱河市峡眶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌植锉,老刑警劉巖辫樱,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異俊庇,居然都是意外死亡狮暑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門暇赤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來心例,“玉大人,你說我怎么就攤上這事鞋囊≈购螅” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長译株。 經(jīng)常有香客問我瓜喇,道長,這世上最難降的妖魔是什么歉糜? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任乘寒,我火速辦了婚禮,結(jié)果婚禮上匪补,老公的妹妹穿的比我還像新娘伞辛。我一直安慰自己,他們只是感情好夯缺,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布蚤氏。 她就那樣靜靜地躺著,像睡著了一般踊兜。 火紅的嫁衣襯著肌膚如雪竿滨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天捏境,我揣著相機(jī)與錄音于游,去河邊找鬼。 笑死垫言,一個胖子當(dāng)著我的面吹牛贰剥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骏掀,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鸠澈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了截驮?” 一聲冷哼從身側(cè)響起笑陈,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葵袭,沒想到半個月后涵妥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡坡锡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年蓬网,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹉勒。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡帆锋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出禽额,到底是詐尸還是另有隱情锯厢,我是刑警寧澤皮官,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站实辑,受9級特大地震影響捺氢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剪撬,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一摄乒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧残黑,春花似錦馍佑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至冰木,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笼恰,已是汗流浹背踊沸。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留社证,地道東北人逼龟。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像追葡,于是被迫代替她去往敵國和親腺律。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容