在數據庫中建立用戶和數據庫,執行如下代碼:javascript
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
修改數據庫下的conf的sonar.propertiescss
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://192.168.1.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
依次運行管理員運行bin/windows-x86-xx/下的InstallNTService.bat,StartSonar.bat。html
運行成功後,打開瀏覽器,輸入http://192.168.1.1:9000,就能夠訪問sonar,輸入admin/admin就能夠登陸sonar。java
在配置>>系統>>更新中心中安裝須要的插件。本人安裝了:C#、Chinese Pack、Git、Java、SVN、SonarJS、SonarXML、Timeline、Web,安裝後重啓sonar服務。node
在配置>>SCM>>SVN中輸入svn的用戶名和密碼(不輸入這個在執行sonar和jenkins的時候會出現SVN E170001錯誤),如圖:mysql
在Administrator>>安全>>Tokens中,隨便輸入一個名字,點擊Generate,生成token,拷貝生成好的token,預留到以後和jenkins集成的時候使用。web
若是是maven項目,修改maven項目下的sonar配置,修改conf/settings.xml文件的profiles節點,增長sonar的配置sql
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://192.168.1.1:9000 </sonar.host.url> </properties> </profile>
以後在maven項目的pom.xml下執行如下代碼就能夠將項目的質量分析交給sonar處理了。數據庫
mvn clean install sonar:sonar
sonar安裝和配置到此結束。apache
<!-- 配置repleash和snapshots --> <distributionManagement> <repository> <id> nexus-releases</id> <name> Nexus Release Repository</name> <url> http://192.168.1.1:8081/nexus/content/repositories/releases/</url> </repository> <!-- 如版本號中包含-SNAPSHOT則會傳到快照中 --> <snapshotRepository> <id> nexus-snapshots</id> <name> Nexus Snapshot Repository</name> <url> http://192.168.1.1:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>(3)命令行運行到我的開發庫的pom目錄,執行下面命令行就能夠發佈到Releases和Snapshots(後面命令爲跳過測試)。
mvn deploy -Dmaven.test.skip=true
(4)固然,這還須要在maven的settings.xml配置文件中,配置nexus的服務器、用戶名和密碼信息。這個稍後再講。
nexus安裝和配置完成。
<localRepository>E:/maven-repo</localRepository>修改servers節點,添加上傳到nexus的Releases和Snapshots的用戶名和密碼,修改了這個後上一節後面說的就能夠上傳到nexus了。
<servers> <server> <id> nexus-releases</id> <username> admin</username> <password> admin123</password> </server> <server> <id> nexus-snapshots</id> <username> admin</username> <password> admin123</password> </server> </servers>修改mirrors節點,設置nexus公共庫的地址
<mirrors> <mirror> <id> nexus-public</id> <name> Nexus Mirror</name> <url> http://192.168.1.1:8081/nexus/content/groups/public/</url> <mirrorOf> central</mirrorOf> </mirror> </mirrors>設置完成後,就能夠從nexus私服下載pom和jar了。
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>運行tomcat的服務,打開瀏覽器輸入192.168.1.1:9900/manager看是否能訪問。能訪問而且輸入tomcat/tomcat能登陸說明配置成功。(manager項目是用來jenkins自動發佈項目用的)
<useSecurity>true</useSecurity> <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"> <denyAnonymousReadAccess>true</denyAnonymousReadAccess> </authorizationStrategy> <securityRealm class="hudson.security.HudsonPrivateSecurityRealm"> <disableSignup>true</disableSignup> <enableCaptcha>false</enableCaptcha> </securityRealm> <disableRememberMe>false</disableRememberMe>
Subversion Plug-in:svn插件 Deploy to container Plugin :tomcat自動部署插件,要結合tomcat的manager項目。 NodeJS Plugin : nodejs插件,可處理Nodejs相關。 SonarQube Scanner for Jenkins : sonar插件 其餘的本身選...
#required metadata #projectKey項目的惟一標識,不能重複。 sonar.projectKey=web #projectName值不能是中文,不然web頁面部分是亂碼 sonar.projectName=web sonar.projectVersion=0.0.1-SNAPSHOT sonar.sourceEncoding=UTF-8 #sonar.modules=java-module,javascript-module,html-module,CSS-module sonar.modules=java-module # Java module java-module.sonar.projectName=xmist.traffic.web java-module.sonar.language=java # .表示projectBaseDir指定的目錄 java-module.sonar.sources=src java-module.sonar.projectBaseDir=. sonar.binaries=target\classes # JavaScript module #javascript-module.sonar.projectName=web_js #javascript-module.sonar.language=js #javascript-module.sonar.sources=webapp #javascript-module.sonar.projectBaseDir=. # Html module #html-module.sonar.projectName=web_html #html-module.sonar.language=web #html-module.sonar.sources=webapp #html-module.sonar.projectBaseDir=. # CSS module #CSS-module.sonar.projectName=web_css #CSS-module.sonar.language=css #CSS-module.sonar.sources=webapp #CSS-module.sonar.projectBaseDir=.
apidoc -i ./src/main/ -o E:/tomcat-9900/webapps/api [-c ./] -f ".*\.java$" exit 0
上面命令中意思是在src/main目錄中找到全部的java文件並將生成的代碼輸出到E:/tomcat-9900/webapps/api目錄下(9900就是以前設置的tomcat服務器)。
固然,執行上面的命令是不會經過的,由於在項目根目錄下沒有apidoc.json文件。在項目的根目錄下建立json文件,內容以下(url地址是生成的接口文檔的接口的訪問地址,好比生成出來會是:http://192.168.1.1:9900/admin/list):
apidoc的介紹也能夠訪問另外一篇博客:http://www.javashuo.com/article/p-sixgsrhd-br.html
{ "name": "web", "version": "0.0.1-SNAPSHOT", "description": "web API", "title": "web API", "url" : "http://192.168.1.1:9900", "sampleUrl": "http://192.168.1.1:9900", "forceLanguage":"zh-cn", "template": { "withCompare": true, "withGenerator": true } }
最後,最重要的tomcat服務器部署。
在構建後操做中,新增Deploy war/ear to a container,並設置tomcat的構建信息。以下兩圖:
設置war/ear的目錄,即maven編譯後的target目錄。
設置Context path,本人設置到編譯後自動部署到tomcat ROOT下。也能夠設置到其餘目錄下。
設置Containers,添加tomcat 7.x,並設置以前設置的tomcat下的manager目錄的用戶名和密碼,還有tomcat的訪問地址。
最後,寫了好長。。。。就到此爲止了。。。終於寫寫完了。
再最後,保存後點擊當即構建,就能夠自動從svn中檢出代碼,並執行maven構建、sonar代碼分析、apidoc的接口文檔生成了。而後,也能夠自動的部署到tomcat目錄下啦。
再來,對本身說:辛苦啦!!!