Git+Maven+Sonar實現提交代碼前進行代碼的質量檢查
一、前言
為了規范代碼質量 , 使開發人員寫出更高質量的代碼 , 實踐了一下git-hooks中的pre-commit鉤子 , 可以在提交代碼時強制校驗本地代碼質量 , 若不符合指定規則不給予代碼的提交 。
二、git的鉤子hook 介紹
和其它版本控制系統一樣 , Git 能在特定的重要動作發生時觸發自定義腳本 。有兩組這樣的鉤子:客戶端的和服務器端的 ??蛻舳算^子由諸如提交和合并這樣的操作所調用 , 而服務器端鉤子作用于諸如接收被推送的提交這樣的聯網操作 。你可以隨心所欲地運用這些鉤子 。
鉤子都被存儲在 Git 目錄下的 hooks 子目錄中 。也即絕大部分項目中的 .git/hooks , 默認存在的都是示例 , 其名字都是以 .sample 結尾 , 如果你想啟用它們 , 得先移除這個后綴 。把一個正確命名且可執行的文件放入 Git 目錄下的 hooks 子目錄中 , 即可激活該鉤子腳本 。這樣一來 , 它就能被 Git 調用 。
本次方案實現效果就是通過pre-commit鉤子實現 。
【git鉤子函數攔截提交】三、sonar的介紹
Sonar是一個用于代碼質量管理的開源平臺 , 用于管理源代碼的質量 , 可以從七個維度檢測代碼質量 。
通過插件形式 , 可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語言的代碼質量管理與檢測 。
3.1、sonar支持的客戶端
除了數據庫和web服務器之外 , Sonar還有很重要的一部分:客戶端 ??蛻舳耸褂镁唧w的程序工具進行分析 , 不同的語言 , 不同的項目構建類型可以使用不同的客戶端程序 。
Sonar提供很多類型的客戶端:
四、正文
4.1、在Java項目配置pom.xml
4.1.1、pom.xml中增加如下插件
獲取token的辦法 , 首先通過登錄sonar服務器 , 再如下圖操作:
如圖所示 , 通過maven sonar:sonar命令可以對項目執行代碼質量掃描 , 如果出現如下結果證明這個sonar插件有效 。
4.1、首先要通過mvn install 命令把鉤子腳本生成 。
假設install項目成功了 , 打開項目所在的.githooks 目錄查看 , 將看到pre-commit 文件 , 打開文件查看會發現所編寫的腳本內容正是在githook-maven-plugin插件編寫的shell腳本內容 , 此時證明該插件已經生效 。
4.2、嘗試提交有異常的代碼:
在方法里面提交有問題的代碼進行測試 。
再看正常代碼的情況
- Excel里面打鉤 電腦excel打勾
- git安裝及使用教程 Git安裝步驟
- gitlab更改密碼 gitlab怎么改密碼
- github怎么下載安裝 如何從github下載軟件
- git創建分支并把代碼提交到分支上 gitbash提交代碼到分支
- github怎么上傳文件到倉庫 將文件上傳到github倉庫
- 金宥利被倒掛金鉤潛規則 金宥利的死亡原因
- gerrit和gitlab的區別 gerrit-git amd
- git 怎么安裝 Git安裝教程
- snagit軟件的主要功能 snagit有哪些功能
