持續整合Jenkins+sonarqube部署教程
- sonar.jdbc.username=root
- sonar.jdbc.password=11111
- sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
- sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
新的sonarQbude的表相對舊版來說有了新的改動,升級時候需要把舊的表刪除。否則會報以下錯。
Js程式碼- exception caught on transport layer [[id: 0xc7fbf08e, /127.0.0.1:55381 => /127.0.0.1:9001]], closing connection
- java.io.IOException: 遠端主機強迫關閉了一個現有的連線。
4.2 啟動sonarQube
執行“StartSonar.bat”, 訪問9000埠,sonar預設自帶了jetty伺服器。
預設使用者名稱密碼 admin、admin。一些設定和菜單隻有在登陸之後才能看到。
因個人9000埠有其他用途,將埠改為9090.
- sonar.web.port=9090
4.3漢化sonarQube
官網地址 http://docs.sonarqube.org/display/PLUG/Plugin+Library
將sonar-l10n-zh-plugin-1.13.jar放置於sonarqube-6.2\extensions\plugins下。重啟sonarQube。
soanrQube有一些需要到的外掛,用於程式碼分析。
外掛介紹
外掛的下載地址為:http://docs.codehaus.org/display/SONAR/Plugin+Library
將下載後的外掛上傳到${SONAR_HOME}extensions\plugins目錄下,重新啟動sonar。
sonar預設集成了Java Ecosystem外掛,該外掛是一組外掛的合集
(1)Java [sonar-java-plugin]:java原始碼解析,計算指標等
(2)Squid [sonar-squid-java-plugin]:檢查違反Sonar定義規則的程式碼
(3)Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle檢查違反統一程式碼編寫風格的程式碼
(4)FindBugs [sonar-findbugs-plugin]:使用FindBugs檢查違反規則的缺陷程式碼
(5)PMD [sonar-pmd-plugin]:使用pmd檢查違反規則的程式碼
(6)Surefire [sonar-surefire-plugin]:使用Surefire執行單元測試
(7)Cobertura [sonar-cobertura-plugin]:使用Cobertura獲取程式碼覆蓋率
(8)JaCoCo [sonar-jacoco-plugin]:使用JaCOCO獲取程式碼覆蓋率
常用的外掛:
(1)JavaScript程式碼檢查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin
(2)Python程式碼檢查:http://docs.codehaus.org/display/SONAR/Python+Plugin
(3)Web頁面檢查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin
(4)xml檔案檢查:http://docs.codehaus.org/display/SONAR/XML+Plugin
(5)scm原始碼庫統計分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin
(6)檔案度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin
(7)中文語言包:http://docs.codehaus.org/display/SONAR/Chinese+Pack
(8)時間表顯示度量結果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin
(9)度量結果演進圖:http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin
五 sonar-runner安裝
5.1 修改sonar-runnerc下的conf的sonar-scanner.properties配置檔案
Java程式碼- sonar.host.url=http://localhost:9090
- sonar.jdbc.username=root
- sonar.jdbc.password=11111
- sonar.jdbc.url=jdbc:mysql://10.10.5.64:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
- sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
5.2 在專案的根目錄下新增檔案sonar-project.properties
1 單一個專案
Java程式碼- sonar.projectKey=pljj
- sonar.projectName=pljj
- sonar.projectVersion=1.0-SNAPSHOT
- sonar.sources=src/main/java
- sonar.tests=src/test/java
- sonar.binaries=target/classes
- sonar.language=java
2 maven多模組
Java程式碼- sonar.projectKey=pljj
- sonar.projectName=pljj
- sonar.projectVersion=1.0
- sonar.sources=.
- sonar.language=java
- sonar.sourceEncoding=UTF-8
或者
Java程式碼- sonar.projectKey=com.pljj-job
- sonar.projectName=elastic-job
- sonar.projectVersion=1.1.0
- # Set modules IDs
- sonar.modules=pljj-core,pljj-console,pljj-spring
- # Modules inherit properties set at parent level
- sonar.sources=src/main/java
- sonar.tests=src/test/java
- sonar.java.binaries=target
- sonar.language=java
5.3,執行sonar-runner
在“開始”》“執行”中輸入cmd切換的專案更目錄 輸入“sonar-runner”
以下為成功目錄
登陸http://localhost:9090/ 檢視程式碼掃描結果,帳號密碼admin/admin
六 mave安裝和sonarQbude配合使用
6.1在maven官網下載maven
開啟cmd視窗資料 mvn –v 檢視maven版本,列印如下表示安裝成功。
6.2 在%M2_HOME%\conf\setting.xml中輸入下面內容(直接用下面的內容覆蓋原檔案)
Xml程式碼- <?xmlversionxmlversion="1.0" encoding="UTF-8"?>
- <settingsxmlnssettingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd">
- <profiles>
- <profile>
- <id>sonar</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <properties>
- <!-- EXAMPLE FOR MYSQL-->
- <sonar.jdbc.url>
- jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
- </sonar.jdbc.url>
- <sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
- <sonar.jdbc.username>root</sonar.jdbc.username>
- <sonar.jdbc.password>11111</sonar.jdbc.password>
- <!-- SERVER ON A REMOTE HOST-->
- <sonar.host.url>http://localhost:9000</sonar.host.url>
- </properties>
- </profile>
- </profiles>
- </settings>
使用asonr-maven-plugin進行分析,在專案的pom.xml裡面新增
參考官網:
http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
Xml程式碼- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>sonar-maven-plugin</artifactId>
- <version>2.7.1</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
儲存後找到你需要被sonar分析的maven專案根目錄, 被分析的專案必須帶有pom檔案
6.3、在CMD視窗下,命令列進入到專案檔案的目錄中去,然後再輸入mvn sonar:soanr進行測試
6.4、在瀏覽器中輸入http://localhost:9000檢視結果。
7 ,nexus安裝
nexus倉庫並不是必須的,不使用私有倉庫情況,不必安裝。
將安裝包複製到需要安裝的機器,我安裝在/opt/soft/nexus
tar –zxvf nexus-latest-bundle.tar.gz
解壓後會出現兩個目錄
cd nexus-2.7.7-01/bin
./nexus
輸出如下:
列出了nexus的各種命令
./nexus start 啟動服務
然後在本機訪問http://localhost:8081/nexus,預設使用者名稱密碼:admin,admin123
如果是遠端機訪問還需要開通8081埠,操作如下:
- /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT #開啟8081埠
- /etc/rc.d/init.d/iptables save #儲存配置
- /etc/rc.d/init.d/iptables restart #重啟服務
- 檢視埠是否已經開放
- /etc/init.d/iptables status
7.2 專案本地pom.xml配置
Xml程式碼- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <modules>
- <module>pljj-common</module>
- <module>pljj-core</module>
- <module>pljj-report</module>
- </modules>
- <groupId>com.pljj</groupId>
- <artifactId>pljj-pom</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>pljj-pom</name>
- <url>http://maven.apache.org</url>
- <properties>
-
<project.build.sourceEncoding>UTF-8
相關推薦
持續整合Jenkins+sonarqube部署教程
新增如下內容,sonar預設自帶mysql驅動。 Js程式碼 sonar.jdbc.username=root sonar.jdbc.password=11111 sonar.jdbc.url=jdbc:mysql://localhost:3306/sona
持續整合jenkins+weblogic部署啟動(二)
專案已經可以順利的釋出到linux上指定的目錄了,接下來是我對weblogic部署的思路 有的人認為只要專案放到指定位置,weblogic立即關閉再啟動,他就會載入專案,這個時候載入的就是最新的,專案就是最新的, 這個想法是錯的。這樣專
微服務下的持續整合-Jenkins自動化部署GitHub專案
@[TOC] ## 一、前言 只從公司用了Jenkins後就很想寫這個了,因為這個真真真的是太方便了,想起小農剛工作的時候,那個時候部署專案怎麼部署呢?首先需要將對應的class檔案和xml一個一個匯出來,放到對應的包檔案裡面,有時候一不小心很有可能會導錯,這個時候又要去重新拉一下對應的class檔案,然後
持續整合Jenkins-Linux離線部署.md
考慮公司伺服器未開通網路訪問許可權,因此所有的東西要通過本地下載後上傳linux,所以初始先在本地安裝好整體環境,再進行移殖。 移殖中最主要是移殖本地的.jenkins目錄,移殖後基本沒有什麼問題,只是後續專案中有新引入的maven包,需要手動上傳至伺服器maven倉庫。
Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署(二):部署
前面又是廢話 我之前寫過: Asp.Net Core 程式部署到Linux(centos)生產環境(一):普通部署 Asp.Net Core 程式部署到Linux(centos)生產環境(二):docker部署 大家可能會有疑問,分散式環境當中的部署還是跟我們在windows一樣,一臺機一臺機的去
Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署(一):Jenkins安裝
寫在前面 其實園子裡很多大佬都寫過,我也是一個搬運工很多東西不是原創的,不過還是想把自己安裝的過程,記錄下來如果能幫到大家的忙,也是一件功德無量的事; 執行環境 centos:7.2 cpu:1核 2G記憶體 1M頻寬 其實用的騰訊雲 安裝jenkins 這裡的jenkins就不從docker
Jenkins-Docker-SpringBoot-java-git-gradle-持續整合與自動部署-實現跨伺服器部署
1.首先你需要在git倉庫中有一份可作為服務啟動的springboot程式碼。 可選擇方案(github-國外,Gitee國內,自己搭建私有倉庫): 1.1 如果你只是為了測試或者你的專案是開源的,可以選擇github(國外),因為github私有專案需要收費,你懂的。gi
Jenkins學習總結(3)——Jenkins+Maven+Git搭建持續整合和自動化部署的
前言 持續整合這個概念已經成為軟體開發的主流,可以更頻繁的進行測試,儘早發現問題並提示。自動化部署就更不用說了,可以加快部署速度,並可以有效減少人為操作的失誤。之前一直沒有把這個做起來,最近的新專案正好有機會,費了一番功夫總算搞好了,特此記錄。 1. 開發環
Framework專案持續整合(jenkins)及集合SonarQube
[toc] -------------------- # Framework專案持續整合及集合SonarQube - 前言 個人部落格原文地址:[http://book.levy.net.cn/doc/devops/jenkins_sonar.html](http://book.levy.net.cn/
.NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續整合、自動化部署)
通過前面三篇: [.NET Core部署到linux(CentOS)最全解決方案,常規篇](http://blog.rdiframework.net/article/244) [.NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx)](http://bl
.net core 2.x - docker-linux容器-持續整合(jenkins)
1.準備工作 先說明哈,以下操作都是在windows中: a).需要下載安裝 jenkins 的windows版本 b).需要下載安裝 docker for windows,安裝之後使用的 linux容器,如果不知道的,可以看上一篇 c).我們這裡的演示使
Jenkins自動化部署教程
本教程講解springboot框架打包成jar包進行自動化部署; 外掛安裝 工具配置 系統管理 》 全域性工具配置(可以使用預設配置) 配置jdk 配置maven 配置git Publish over SSH配置 系統管理 》 系統設定,找到Publis
CI持續整合系統環境---部署gerrit環境完整記錄
開發同事提議在線上部署一套gerrit程式碼稽核環境,廢話不多說,部署gerrit的操作記錄如下: 提前安裝好java環境,mysql環境,nginx環境 測試系統:centos6.5 下載下面三個包,放到/root目錄下(下載地址:http://pan.baidu.com/
自動持續整合——Jenkins整合SpringBoot
自動持續整合,簡而言之就是在程式碼每次提交時,自動持續整合的工作主要是能對專案進行構建、自動化測試和釋出等等。jenkins是一個自動持續整合工具,目前比起前沿的還有gitlab。使用自動持續整合
iOS持續整合jenkins+xcode+svn+七牛
吐個槽:隨著程式碼的不斷累積每次iOS打包都要焦急等待小十分鐘,Xcode卡爆了有沒有,Archives有時證書都無法驗證,上傳20M的.ipa檔案一定要看網路給不給力。 jenkins實現目標: 生成ipa檔案 生成plist檔案 ipa、plist七牛
手摸手聊聊小程式持續整合Jenkins
本文首發在我的github部落格 github.com/Pasoul/blog… ,感興趣的同學可以點個star,不要迷路哦~ 我們為什麼要持續整合? 試想以下兩個場景: 場景一:你在開發新功能的時候,同事A找你要小程式體驗二維碼,於是你只能: git stash // 快取本地修改 git
持續整合(jenkins)中的持續釋出配置.(Deploy to container Plugin外掛)
引數詳解: 第一項(WAR/EAR files):是war包的相對路徑(相對於工作區路徑,即在工作區中war包的相對路徑.)如我的maven執行完成之後會在工作區的target目錄下生成專案.war,所以這裡我的路徑就寫target\專案.war. 第二項:(conten
如何做好持續整合——Jenkins on Mesos 實踐
首先講一下持續整合的優勢。過去公司做測試可能需要十幾、二十幾個元件,整合一次往往要一兩個小時,費力費時,而且複雜容易出錯,而一旦配置出錯的話耗時會更久。因此,一次整合測試一週才會做一次,測出Bug要到下一週才能更新,再做測試,這個週期會非常漫長。而持續整合的意義
持續整合Jenkins
轉自:https://blog.csdn.net/qq_26848099/article/details/78901240一、相關概念1.1 Jenkins概念:Jenkins是一個功能強大的應用程式,允許持續整合和持續交付專案,無論用的是什麼平臺。這是一個免費的原始碼,可以
利用Travis CI+GitHub實現持續整合和自動部署
前言 如果你手動部署過專案,一定會深感持續整合的必要性,因為手動部署實在又繁瑣又耗時,雖然部署流程基本固定,依然容易出錯。 如果你很熟悉持續整合,一定會同意這樣的觀點:“使用它已經成為一種標配”。 什麼是持續整合 Continuous Integration(CI) is a development p