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