Jenkins :基于Java开发的持续集成工具(既然是工具,确定是用来减轻工做量的),能够监控持续重复的工做,若是这些重复的工做交给jenkins去作,这样不只减轻了本身的工做量也实现了jenkins自身的价值 大笑.gif。就拿我以前在公司实习所作的项目来讲:项目环境是Eclipse + Maven + SVN,项目发包部署一般是如下几个步骤:java
一、Eclipse中首先Clean一下项目,而后使用maven install操做等待打包完成。mysql
二、找到打好的jar包上传到windows服务器上。web
三、远程登陆服务器进入jar包保存路径,执行 java -jar jar包名称.jar 启动jar包。sql
每次项目部署发包(正式和测试)都要执行这样的步骤,若是没有接触更简便的操做也就这样随遇而安了,后来我遇到了Jenkins和SonarQube......数据库
SonarQube :管理代码质量的开放平台,能够快速定位代码中潜在的或者明显的错误,说白了就是用于分析代码。windows
好了,扯了这么多回归正题:浏览器
资源下载:tomcat
资源文件 提取码:8yfc服务器
1、jenkins安装有两种方式:app
一、直接安装msi文件。
二、将war包放入tomcat的webapps文件夹下,执行tomcat。注意:webapps文件夹下不要有其它war包。
安装完成以后地址栏输入: localhost:8080 点击回车,若是安装成功进入下面的页面:
根据页面提示找到initialAdminPassword文件,拷贝文件里面的密码输入,点击继续,进行插件的安装,若是是新手建议选择 新手入门自定义安装。
过程当中会出现以下界面:
点击跳过插件安装进入建立管理员用户,界面以下:
填写信息点击保存,Jenkins就安装完成了。
配置:
进入首页以后你的jenkins多是英文的,若是想切换成中文须要安装插件 Localization:Chinese(Simplified) : Jenkins首页--> Manage Jenkins --> Manage Plugins进入进行安装。能够根据过滤进行搜索选择,以下图:
在这个插件管理里面安装对应的插件(sonarQube Scan、svn、maven等插件),若是安装时选择的新手入门而且插件已经安装成功可跳过此步骤。至此Jenkins安装完成
2、SonarQube安装及配置
新建mysql数据库,名字可随意取,个人数据库名字是“sonar”。
一、将 SonarQube-xxx.zip 和 sonar-scanner-cli-xxx.zip 压缩包就行解压。
二、进入sonarqube-xxx文件夹--> conf --> 打开sonar.properties 以下图:
添加数据库信息:
sonar.jdbc.username=root
sonar.jdbc.password=xiechuang
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.port=9000
以下图:
保存。
三、进入sonarqube-xxx文件夹--> bin --> 找到系统对应的版本,个人是win10 64位 -->以管理身份依次执行 InstallNTService.bat、 StartNTService.bat、StartSonar.bat。若是不用管理员身份执行可能会出现闪退或者 wrapper | OpenSCManager failed - 拒绝访问。 (0x5) 。启动完成以后在浏览器地址栏输入 localhost:9000 而后回车,出现sonar的欢迎界面表示安装成功:
sonar汉化:
四、进入sonar-scanner-cli-xxx文件夹--> conf --> 打开 sonar-scanner.properties --> 添加信息:
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=***
sonar.jdbc.password=***
配置:配置sonar-scan环境变量,这样在系统任何路径都能都能进行访问:
一、新建系统变量 SONAR_SCANNER_HOME ,变量值为sonar-scan路径。
二、在系统变量中的path变量中添加: %SONAR_SCANNER_HOME%\bin , 保存。
三、打开cmd,输入 sonar-scanner,出现以下信息表示环境变量配置成功:
使用sonar-scan进行代码扫描有两种方式:
一、在项目根目录下新建 sonar-project.properties 文件,文件中输入:
sonar.projectKey=hzwq
sonar.projectName=hzwq
sonar.projectVersion=1.0
#代码目录
sonar.sources=src
#classes文件目录,不加会报错,若是是多项目须要改为target,单项目使用.
sonar.java.binaries=.
sonar.language=java
sonar.sourceEncoding=UTF-8
保存。而后在cmd中输入 sonar-scanner,等待执行完毕出现EXECUTION SUCCESS说明执行完毕,去sonar服务器中查看,发现已经对项目代码进行了扫描:
而后就能够查看对应的代码了。
二、第二种方式就是在jenkins里面配置SonarQube插件,准备好了我们就开始构建吧。
3、Jenkins + Sonar-Scan + maven进行项目的建立
一、sonarQube Servers配置:进入Jenkins--> Manage Jenkins --> Configure System --> 找到 SonarQube servers
二、maven、sonar scan、svn、jdk配置:进入Jenkins--> Manage Jenkins --> Global Tool Configuration :
maven配置:
SonarQube Scan配置:
jdk配置:
点击保存。
三、新建Item
点击肯定。
源码管理:
构建完成以前的操做(Pre Steps):
点击保存。
等待执行完毕,若是控制台出现蓝色小球代表构建成功,若是是红色代表失败,具体信息须要查看日志。至此Jenkins + SonarQube + Maven实现自动化部署就完成了。