gitlab+sonar 計算delta覆蓋率(java代碼增量覆蓋率)

在測試左移贡茅、devops、持續(xù)集成等場景下蹈胡,代碼增量覆蓋率基本都會被討論到病涨。

落地delta覆蓋率赎懦,基本上有以下幾種做法

1励两、自研工具或者例如diff_cover等開源工具來計算增量的代碼覆蓋率

2盲憎、通過SonarQube來計算增量代碼覆蓋率

第一種方案需要很多人力投入窑眯,其實沒必要自研,本文討論第二種方案捞烟,利用sonarqube來進行delta覆蓋率計算


示意圖如下:

????????用戶往gitlab提交代碼苍息,然后pipeline通過jacoco跑覆蓋率給sonar,sonar得到相對于當前master分支的delta覆蓋率,然后通過sonar api接口獲取sonar的delta覆蓋率數(shù)據(jù)竞思,寫個判斷邏輯表谊,比如要求delta覆蓋率要大于80%,如果大于80%盖喷,job成功爆办,合入代碼。如果沒有達到课梳,則失敗并通知代碼提交人員距辆。

1、下載sonarqube

https://binaries.sonarsource.com/

如果有錢可以下develop版本暮刃,如果需要免費挑格,去https://binaries.sonarsource.com/Distribution/sonarqube/下載社區(qū)版本

另外,為了得到分支代碼相對于master分支代碼的增量沾歪,如果是社區(qū)版需要去下載插件,地址如下

https://github.com/sonar-learn/sonarqube-community-branch-plugin

2雾消、在gitlab的pipeline寫法舉例

mvn clean verify org.jacoco:jacoco-maven-plugin:prepare-agent install -e -X sonar:sonar -Dsonar.host.url=sonar地址 -Dsonar.login=sonar的token?-Dsonar.branch.name=xxx -Dsonar.branch.target=master -U -f pom.xml

如果只想跑某個模塊可以加pl=.,xxx-module灾搏,注意這里.需要加

PS:

????-Dsonar.scm.disabled=true這個千萬不能加,否則沒有辦法算增量覆蓋率

? ??GitLab project settings > CI/CD > General pipelines 這里要用 git clone 不能用 git fetch

這樣就能算到delta覆蓋率并且在sonar上可以看到(如下圖)


3立润、獲取計算好的delta覆蓋率

可以看到sonarqube是提供了很多webapi的狂窑,在gitlab的pipline里可以寫腳本獲取剛才上傳的覆蓋率信息,并做判斷桑腮,具體用哪個接口泉哈,按自己的需求,這里就不展開描述了


z

總結下破讨,沒必要中間加1個Jenkins丛晦,也沒必要用什么sonar的gitlab-plugin插件

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市提陶,隨后出現(xiàn)的幾起案子烫沙,更是在濱河造成了極大的恐慌,老刑警劉巖隙笆,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锌蓄,死亡現(xiàn)場離奇詭異,居然都是意外死亡撑柔,警方通過查閱死者的電腦和手機瘸爽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铅忿,“玉大人剪决,你說我怎么就攤上這事。” “怎么了昼捍?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵识虚,是天一觀的道長。 經(jīng)常有香客問我妒茬,道長担锤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任乍钻,我火速辦了婚禮肛循,結果婚禮上,老公的妹妹穿的比我還像新娘银择。我一直安慰自己多糠,他們只是感情好,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布浩考。 她就那樣靜靜地躺著夹孔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪析孽。 梳的紋絲不亂的頭發(fā)上搭伤,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機與錄音袜瞬,去河邊找鬼怜俐。 笑死,一個胖子當著我的面吹牛邓尤,可吹牛的內(nèi)容都是我干的拍鲤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼汞扎,長吁一口氣:“原來是場噩夢啊……” “哼季稳!你這毒婦竟也來了?” 一聲冷哼從身側響起澈魄,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绞幌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后一忱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莲蜘,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年帘营,在試婚紗的時候發(fā)現(xiàn)自己被綠了票渠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡芬迄,死狀恐怖问顷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤杜窄,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布肠骆,位于F島的核電站,受9級特大地震影響塞耕,放射性物質發(fā)生泄漏蚀腿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一扫外、第九天 我趴在偏房一處隱蔽的房頂上張望莉钙。 院中可真熱鬧,春花似錦筛谚、人聲如沸磁玉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚊伞。三九已至,卻和暖如春吮铭,著一層夾襖步出監(jiān)牢的瞬間时迫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工沐兵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人便监。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓扎谎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親烧董。 傳聞我的和親對象是個殘疾皇子毁靶,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

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