中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jenkins代碼管理

發布時間:2020-06-24 15:58:25 來源:網絡 閱讀:3332 作者:mb5cd21e691f31a 欄目:云計算

持續集成之代碼質量管理-Sonar [三]

Sonar 介紹
Sonar 是一個用于代碼質量管理的開放平臺。通過插件機制, Sonar 可以集成不同的測試工
具,以及持續集成工具。與持續集成工具(例如 Hudson/Jenkins 等)不同, Sonar
并不是簡單地把不同的代碼檢查工具結果(例如 FindBugs, PMD 等)直接顯示在 Web 頁面上,而
是通過不同的插件對這些結果進行再加工處理,通過量化的方式度量代碼質量的變化,從而可以方
便地對不同規模和種類的工程進行代碼質量管理。
在對其他工具的支持方面, Sonar 不僅提供了對 IDE 的支持,可以在 Eclipse 和 IntelliJ
IDEA 這些工具里聯機查看結果;同時 Sonar 還對大量的持續集成工具提供了接口支持,可以很方
便地在持續集成中使用 Sonar。
此外, Sonar 的插件還可以對 Java 以外的其他編程語言提供支持,對國際化以及報告文檔化
也有良好的支持。

Sonar 部署

Sonar 的相關下載和文檔可以在下面的鏈接中找到: http://www.sonarqube.org/downloads/。
需要注意最新版的 Sonar 需要至少 JDK 1.8 及以上版本。
上篇文章我們已經可以成功的使用 git 進行拉去, Sonar 的功能就是來檢查代碼是否有 BUG。除了
檢查代碼是否有 bug 還有其他的功能,比如說:你的代碼注釋率是多少,代碼有一些建議,編寫語
法的建議。所以我們叫質量管理
Sonar 還可以給代碼打分,并且引用了技術宅的功能(告訴你有很多地方沒改)
Sonar 部署

   89  cd /usr/src/sonar
   90  rz  上傳所需軟件包
軟件包我們通過 wget 或者下載, rz 上傳到服務器

#軟件包下載: https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.zip
jenkins代碼管理

   95  unzip sonarqube-5.6.zip   解壓軟件包
   96  mv sonarqube-5.6 /usr/local/sonarqube
   97  cd /usr/local/sonarqube/
98  ln -s /usr/local/sonarqube/bin/linux-x86-64/sonar.sh  /usr/local/bin/ 鏈接命令目錄

準備 Sonar 數據庫
如果沒有數據庫請執行 yum install -y mariadb mariadb-server

  102  cd /usr/src/ MySQl5.7RPM
  103  rz  上傳所需rpm包
  105  cd MySQl5.7RPM/
  107  ls

jenkins代碼管理

  108  yum -y localinstall mysql-community-*  安裝此目錄的MySQL包
  109  systemctl  start  mysqld              開啟mysql 
100 systemctl enable mariadb         設置開機自啟

登錄數據庫并操作
110 mysqladmin -u root password 123 設置MySQL數據庫密碼
jenkins代碼管理
可以看到這里有問題。解決:
111 grep password /var/log/mysqld.log
jenkins代碼管理
紅框中的就是密碼
112 mysql -u root -p'yq%9XsyE:r&g' 登陸數據庫
alter user 'root'@'localhost' identified by '123.com'
jenkins代碼管理
alter user 'root'@'localhost' identified by 'Xgp@123.com';
jenkins代碼管理

create database sonar character set utf8 collate utf8_general_ci;   創建數據庫
grant all on sonar.* to 'sonar'@'%' identified by 'Sonar@123.com';    設置授權用戶
grant all on sonar.* to 'sonar'@'localhost' identified by 'Sonar@123.com';  設置授權用戶

配置 Sonar

  113  cd /usr/local/sonarqube/bin/
  115  ls 

jenkins代碼管理

  116  ln -s /usr/local/sonarqube/bin/linux-x86-64/sonar.sh /usr/local/bin/ 鏈接命令目錄
  117  vim conf/sonar.properties   修改sonar配置文件
sonar.jdbc.username=sonar            #14用戶名
sonar.jdbc.password=Sonar@123.com     #15密碼

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance   #23去注釋
sonar.web.host=0.0.0.0   #99去注釋
sonar.web.port=9000    #106去注釋

配置 Java 訪問數據庫驅動(可選)
默認情況 Sonar 有自帶的嵌入的數據庫,那么你如果使用類是 Oracle 數據庫,必須手動復制驅動類到${SONAR_HOME}/extensions/jdbc-driver/oracle/目錄下,其它支持的數據庫默認提供了驅動。其它數據庫的配置可以參考官方文檔:
http://docs.sonarqube.org/display/HOME/SonarQube+Platform
啟動 Sonar并查看端口
你可以在 Sonar 的配置文件來配置 Sonar Web 監聽的 IP 地址和端口,默認是 9000 端口。
118 sonar.sh start 啟動sonar
119 netstat -anpt | grep 9000 查看端口
jenkins代碼管理
120 tailf /usr/local/sonarqube/logs/sonar.log 查看sonar日志
#端口是 9000 哦!
Web 登陸: IP:9000
提示:
sonar 跟 jenkins 類似,也是以插件為主
sonar 安裝插件有 2 種方式:第一種將插件下載完存放在 sonar 的插件目錄,第二種使用 web 界面來使用安裝存放插件路徑[/usr/local/sonarqube/extensions/plugins/]
jenkins代碼管理
安裝中文插件
登陸:用戶名: admin 密碼: admin
jenkins代碼管理
jenkins代碼管理
sonar安裝‘中文’和php插件

  132  cd /usr/local/sonarqube/extensions/plugins/    進入sonar宿主目錄  
  133  cp /usr/src/sonar/sonar-l10n-zh-plugin-1.11.jar   ./  拷貝中文插件到sonar目錄
134 cp /usr/src/sonar/sonar-php-plugin-2.9-RC1.jar  ./  拷貝php插件到sonar目錄需要重啟才會生效
  134  sonar.sh restart                                重啟sonar
  135  netstat -anpt | grep 9000             查看端口

生效后如下圖:
jenkins代碼管理

下載掃描器插件

  140  cd /usr/src/sonar/  進入剛剛上傳sonar包的目錄
  141  unzip sonar-scanner-cli-3.3.0.1492-linux.zip  解壓掃描插件
  142  mv sonar-scanner-3.3.0.1492-linux/ /usr/local/sonar-scanner  移動解壓文件到sonar宿主目錄
  143  cd /usr/local/sonar-scanner/  進入sonar宿主目錄
  145  ln -s /usr/local/sonar-scanner/bin/sonar-scanner  /usr/local/bin/ 鏈接命令目錄
  146  ln -s /usr/local/sonar-scanner/bin/sonar-scanner  /usr/bin/ 鏈接命令目錄

我們要將掃描器和 sonar 關聯起來

143  cd /usr/local/sonar-scanner/
144  vim conf/sonar-scanner.properties  修改sonar配置文件
sonar.host.url=http://localhost:9000  #去注釋  sonar 地址
sonar.sourceEncoding=UTF-8  #8去注釋  字符集
以下四行來自/usr/ldocal/sonarqube/conf/sonar.properties   
sonar.jdbc.username=sonar   #數據庫賬號
sonar.jdbc.password=Sonar@123.com  #數據庫密碼
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance   #數據庫連接地址

#打開注釋即可

我們現在需要找一個代碼進行分析。

sonar 插件提供了一個代碼的庫
github:https://github.com/SonarSource/sonar-examples
我們下載軟件包: https://github.com/SonarSource/sonar-examples/archive/master.zip
解壓
150 unzip testalyzer-master.zip 解壓測試文件
151 cd /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests 進入測試文件
jenkins代碼管理
163 sonar-scanner 測試代碼文件
jenkins代碼管理
提示: 我們什么都不指定就會在當面目錄下掃描 sonar-project.properties 文件,根據配置文件進行掃描工作。掃描之后我們在 web 界面上就可以看到代碼的掃描結果這里的名字,版本 都是在 sonar-project.properties 文件中定義的
jenkins代碼管理
質量閾幫我們設定好一個閾值,超過相應的閾值就算有 bug
jenkins代碼管理
測試第二個文件
cd /usr/src/sonar/testalyzer-master/projects/languages/javascript/javascript-sonar-runner
sonar-scanner 測試
jenkins代碼管理
jenkins代碼管理

為了讓 jenkins 可以在構建項目的時候執行 sonar,所以我們需要在 jenkins 上安裝插件

現在就可以進行配置,讓 jenkins 和 sonar 結合在一起。這樣我們構建項目的時候就會進行代碼檢測
http://192.168.1.40:8081/ jdk安裝插件SonarQube Scanner. Gerrit Tr igge 需要一個一個來
jenkins代碼管理
安裝完畢之后:現在就可以進行配置,讓 jenkins 和 sonar 結合在一起。這樣我們構建項目的時候就會進行代碼檢測
系統管理---系統設置---- add sonarqube server---name隨意寫 url sonarqube的路徑http://192.168.1.40: 9000

jenkins代碼管理
jenkins代碼管理
點擊保存

系統管理---全局工具配置---新增SonarQube Scanner--- 取消勾選自動安裝----name隨意寫--- SONAR_RUNNER_HOME /usr/local/sonar- scanner
jenkins代碼管理

配置
jenkins代碼管理
配置上次課的web- demo項目----構建--- Execute SonarQube Scanner ----Analysis properties 內容在cat /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/sonar-project.properties(每個人安裝目錄不一樣)
jenkins代碼管理

編輯我們的項目,選擇最下放。找到構建
jenkins代碼管理
cat /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/sonar-project.properties
jenkins代碼管理

填寫完畢后,我們點擊保存

217 cd /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests
  219  cp -r *  /root/xgp-demo/    
  220  cd /root/xgp-demo/  進入xgp項目
  221  git add *            上傳到緩存
  222  git commit -m "sonar"   上傳到版板庫
  223  git push  origin  master  上傳到遠程庫
提示: 此時的 SonarQube 是無法點擊的

瀏覽器JDK查看

jenkins代碼管理

點擊 Console Output 可以查看構建輸出的內容
jenkins代碼管理
#提示:只要沒有 error 就可以
jenkins代碼管理
Gielab查看并修改名字
jenkins代碼管理

再次修改一下并把密鑰修改一下
jenkins代碼管理
jenkins代碼管理

在sonar上查看添加了一個xgpa

jenkins代碼管理

Jenkins郵件告警

登陸QQ郵箱獲取授權碼
jenkins代碼管理
1、需要開啟 POPE3/SMTP 服務
2、在 jenkins 上配置的密碼我們需要點擊生成授權碼進行使用

回到jdk
系統管理---系統設置---Jenkins Location---- 系統管理員郵件地址
-----郵件通知---SMTP服務器smtp . qq. com
---用戶默認郵件后綴@qq. com
---勾選使用smtp認證
用戶名密碼 (生成的授權碼)
---勾選使用ssl
--- smtp端口 465
---勾選通過發送測試郵件測試配置

jenkins代碼管理
jenkins代碼管理
jenkins代碼管理

配置web- demo項目---構建后操作- --添加E -mail Notification---Recipient收件 人地址
---- Editable Email Notification---Project From填寫項目名稱----Project Recipient Lis t收件人郵箱地址-
Triggers---add Triggers----always-- Send To只保留Recipient List

失敗郵件

jenkins代碼管理
jenkins代碼管理
jenkins代碼管理
測試:關閉git(失敗郵件)
gitlab-ctl stop

jenkins代碼管理

jenkins代碼管理

成功郵件

jenkins代碼管理
jenkins代碼管理
jenkins代碼管理
測試:成功郵件
啟動gitlab-ctl start
jenkins代碼管理

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹棱县| 宣恩县| 柳林县| 繁峙县| 乐安县| 吉安市| 竹溪县| 阳新县| 鹿邑县| 舒兰市| 黑龙江省| 海伦市| 麟游县| 双峰县| 井陉县| 龙州县| 乌拉特前旗| 商南县| 辉南县| 巨野县| 宜君县| 河西区| 庆安县| 青阳县| 九龙坡区| 专栏| 北安市| 禹城市| 施甸县| 民丰县| 炉霍县| 邓州市| 文登市| 伊金霍洛旗| 安新县| 仁怀市| 章丘市| 开原市| 延安市| 会昌县| 绥江县|