jenkins集成sonarQube部署及常見問題彙總

本文是以Mac電腦安裝環境來闡述:

首先需要安裝jenkins+sonarqube+soanr-scanner

我這裏的打包的安裝包版本如下:

jenkins是2.2221,

sonarQube版本是7.4(打包的裏面有7.6,8.0,但是未用到,具體原因將在本文中講解)

sonar-scanner:4.2

在安裝sonarQube時的版本選擇及遇到的坑:

我剛開始安裝的是sonarQube8.0版本配置的mysql8.0數據庫(注:詳細配置過程可自行網上搜索很多例子的,這裏不再講解),但是怎麼都連接不了數據庫,

後來又換成7.6版本發現連接數據庫創建表的時候有幾個表報sql格式異常也不能啓動sonarQube,後來發現sonarQube在7.6之後就不支持MySQL數據庫存儲,改爲使用內置的數據庫來存儲分析數據,

所以我們也就不需要對sonarQube文件夾下的config下的sonar.properties文件進行配置,直接在bin目錄下執行sonar.sh start就可以啓動sonarQube了,然後在瀏覽器訪問localhost:9000就可以了。

然後在jenkins中配置了sonarQube之後,全局工具配置這裏要:

這裏一定要寫bin/git,不能寫文件夾路徑,不然git拉取不到代碼,這個錯誤解決之後,新建項目然後在配置構建的時候報錯

Error:Tasks support was removed in SonarQube 7.6.

後來發現是sonarQube的版本太高導致的不兼容,後來我更換了SonarQube7.4(也就是我提供的下載資源中的版本),再次運行又報錯:

Caused by: hudson.plugins.git.GitException: Command "/usr/local/git/bin/git fetch --tags --progress -- https://github.com/fuzhongbin/demoplace.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:

原來是我沒有登陸jenkins,用Admin登陸之後再構建然後又報錯

Task 'sonarQube' does not exist. Please use 'list' task to see all available tasks.

發現是我在配置項目的時候,構建選擇的Execute SonarQube Scanner-->Task to Run中自己寫了一個sonarQube的名字,直接去掉這個名字置空保存,再次編譯就OK了 

我使用的是jenkins跟github實現push代碼之後自動編譯構建:這裏需要在jenkins-->系統管理-->系統配置-->GitHub-->高級-->☑️爲Github指定另外一個Hook Url會得到http://XXX.X.X.X:XXX/github-webhook/這樣的勾子地址,複製該地址,然後打開GitHub對應的項目

 

將上面得到的地址填在Payload Url中 Add WebHook即可完成push自動構建。(但是這個ip必須是公網ip)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章