成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

jenkins代碼管理

持續(xù)集成之代碼質(zhì)量管理-Sonar [三]

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

站在用戶的角度思考問題,與客戶深入溝通,找到灌南網(wǎng)站設(shè)計(jì)與灌南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋灌南地區(qū)。

Sonar 部署

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

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

#軟件包下載: 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/ 鏈接命令目錄

準(zhǔn)備 Sonar 數(shù)據(jù)庫
如果沒有數(shù)據(jù)庫請(qǐng)執(zhí)行 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         設(shè)置開機(jī)自啟

登錄數(shù)據(jù)庫并操作
110 mysqladmin -u root password 123 設(shè)置MySQL數(shù)據(jù)庫密碼
jenkins代碼管理
可以看到這里有問題。解決:
111 grep password /var/log/mysqld.log
jenkins代碼管理
紅框中的就是密碼
112 mysql -u root -p'yq%9XsyE:r&g' 登陸數(shù)據(jù)庫
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;   創(chuàng)建數(shù)據(jù)庫
grant all on sonar.* to 'sonar'@'%' identified by 'Sonar@123.com';    設(shè)置授權(quán)用戶
grant all on sonar.* to 'sonar'@'localhost' identified by 'Sonar@123.com';  設(shè)置授權(quán)用戶

配置 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 訪問數(shù)據(jù)庫驅(qū)動(dòng)(可選)
默認(rèn)情況 Sonar 有自帶的嵌入的數(shù)據(jù)庫,那么你如果使用類是 Oracle 數(shù)據(jù)庫,必須手動(dòng)復(fù)制驅(qū)動(dòng)類到${SONAR_HOME}/extensions/jdbc-driver/oracle/目錄下,其它支持的數(shù)據(jù)庫默認(rèn)提供了驅(qū)動(dòng)。其它數(shù)據(jù)庫的配置可以參考官方文檔:
http://docs.sonarqube.org/display/HOME/SonarQube+Platform
啟動(dòng) Sonar并查看端口
你可以在 Sonar 的配置文件來配置 Sonar Web 監(jiān)聽的 IP 地址和端口,默認(rèn)是 9000 端口。
118 sonar.sh start 啟動(dòng)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/    進(jìn)入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目錄需要重啟才會(huì)生效
  134  sonar.sh restart                                重啟sonar
  135  netstat -anpt | grep 9000             查看端口

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

下載掃描器插件

  140  cd /usr/src/sonar/  進(jìn)入剛剛上傳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  移動(dòng)解壓文件到sonar宿主目錄
  143  cd /usr/local/sonar-scanner/  進(jìn)入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 關(guān)聯(lián)起來

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   #數(shù)據(jù)庫賬號(hào)
sonar.jdbc.password=Sonar@123.com  #數(shù)據(jù)庫密碼
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance   #數(shù)據(jù)庫連接地址

#打開注釋即可

我們現(xiàn)在需要找一個(gè)代碼進(jìn)行分析。

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

為了讓 jenkins 可以在構(gòu)建項(xiàng)目的時(shí)候執(zhí)行 sonar,所以我們需要在 jenkins 上安裝插件

現(xiàn)在就可以進(jìn)行配置,讓 jenkins 和 sonar 結(jié)合在一起。這樣我們構(gòu)建項(xiàng)目的時(shí)候就會(huì)進(jìn)行代碼檢測(cè)
http://192.168.1.40:8081/ jdk安裝插件SonarQube Scanner. Gerrit Tr igge 需要一個(gè)一個(gè)來
jenkins代碼管理
安裝完畢之后:現(xiàn)在就可以進(jìn)行配置,讓 jenkins 和 sonar 結(jié)合在一起。這樣我們構(gòu)建項(xiàng)目的時(shí)候就會(huì)進(jìn)行代碼檢測(cè)
系統(tǒng)管理---系統(tǒng)設(shè)置---- add sonarqube server---name隨意寫 url sonarqube的路徑http://192.168.1.40: 9000

jenkins代碼管理
jenkins代碼管理
點(diǎn)擊保存

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

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

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

填寫完畢后,我們點(diǎn)擊保存

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/  進(jìn)入xgp項(xiàng)目
  221  git add *            上傳到緩存
  222  git commit -m "sonar"   上傳到版板庫
  223  git push  origin  master  上傳到遠(yuǎn)程庫
提示: 此時(shí)的 SonarQube 是無法點(diǎn)擊的

瀏覽器JDK查看

jenkins代碼管理

點(diǎn)擊 Console Output 可以查看構(gòu)建輸出的內(nèi)容
jenkins代碼管理
#提示:只要沒有 error 就可以
jenkins代碼管理
Gielab查看并修改名字
jenkins代碼管理

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

在sonar上查看添加了一個(gè)xgpa

jenkins代碼管理

Jenkins郵件告警

登陸QQ郵箱獲取授權(quán)碼
jenkins代碼管理
1、需要開啟 POPE3/SMTP 服務(wù)
2、在 jenkins 上配置的密碼我們需要點(diǎn)擊生成授權(quán)碼進(jìn)行使用

回到j(luò)dk
系統(tǒng)管理---系統(tǒng)設(shè)置---Jenkins Location---- 系統(tǒng)管理員郵件地址
-----郵件通知---SMTP服務(wù)器smtp . qq. com
---用戶默認(rèn)郵件后綴@qq. com
---勾選使用smtp認(rèn)證
用戶名密碼 (生成的授權(quán)碼)
---勾選使用ssl
--- smtp端口 465
---勾選通過發(fā)送測(cè)試郵件測(cè)試配置

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

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

失敗郵件

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

jenkins代碼管理

jenkins代碼管理

成功郵件

jenkins代碼管理
jenkins代碼管理
jenkins代碼管理
測(cè)試:成功郵件
啟動(dòng)gitlab-ctl start
jenkins代碼管理

本文標(biāo)題:jenkins代碼管理
URL地址:http://jinyejixie.com/article24/ijcgce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)建站公司、商城網(wǎng)站、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
台山市| 英山县| 周口市| 望谟县| 罗城| 贵州省| 兖州市| 桑日县| 漯河市| 庆元县| 微博| 荆州市| 合山市| 常熟市| 长白| 兴安盟| 西城区| 承德市| 伊金霍洛旗| 中卫市| 武威市| 连州市| 古田县| 东海县| 清河县| 南涧| 鄄城县| 岱山县| 视频| 叙永县| 蛟河市| 富源县| 扎赉特旗| 内丘县| 资溪县| 凉城县| 民县| 黄大仙区| 岳池县| 丹东市| 彭泽县|