在数据库中建立用户和数据库,执行如下代码: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目录下啦。
再来,对本身说:辛苦啦!!!