您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页Jenkins+SVN+Maven+Sonar自动化部署环境搭建

Jenkins+SVN+Maven+Sonar自动化部署环境搭建

来源:爱go旅游网
Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

Jenkins+SVN+Maven+Sonar自动化部署环境搭建

李栋

2015年12月18日

目录

JENKINS+SVN+MAVEN+SONAR自动化部署环境搭建 .............................................................................................. 1 1

服务器环境 ................................................................................................................................................................................ 2 1.1 1.2 1.3 1.4 1.5 1.6 2

JAVA环境 ............................................................................................................................................................................................... 2 MAVEN环境 ......................................................................................................................................................................................... 2 TOMCAT .................................................................................................................................................................................................. 2 MYSQL ................................................................................................................................................................................................... 2 SONARQUBE ........................................................................................................................................................................................... 2 SONAR RUNNER ..................................................................................................................................................................................... 3

JENKINS环境 ........................................................................................................................................................................... 3 2.1 2.2 2.3

JENKINS安装 ........................................................................................................................................................................................ 3 JENKINS插件 ........................................................................................................................................................................................ 3 JENKINS全局配置 .............................................................................................................................................................................. 4

Maven Configuration ....................................................................................................................................................................... 4 JDK ............................................................................................................................................................................................................ 4 Git .............................................................................................................................................................................................................. 5 SonarQube Runner ............................................................................................................................................................................ 5 Maven ...................................................................................................................................................................................................... 6 Jenkins Location ................................................................................................................................................................................. 6 SonarQube ............................................................................................................................................................................................ 6

2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4

邮件通知 ............................................................................................................................................................................................... 7

Gitlab(可选) ................................................................................................................................................................................... 7

JENKINS管理JOB ................................................................................................................................................................................ 8

2.4.1 2.4.2

新建Job.................................................................................................................................................................................................. 8 源码管理 ............................................................................................................................................................................................... 8

第 1 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

2.4.3 2.4.4 2.4.5 3

构建触发器 .......................................................................................................................................................................................... 9

Build ......................................................................................................................................................................................................... 9

发布项目 ............................................................................................................................................................................................ 10

JENKINS构建项目 ................................................................................................................................................................ 13 3.1 3.2

构建项目 ........................................................................................................................................................................................... 13 SONAR报告 ....................................................................................................................................................................................... 15

1 服务器环境

本文档适用于windows下的自动化部署环境搭建。 1.1 Java环境

下载jdk-7u51-windows-x.exe并安装。配置Java环境变量。过程略。 1.2 Maven环境

下载apache-maven-3.3.3.zip并解压缩。配置Maven环境变量。过程略。 在setting.xml中配置repository。 1.3 Tomcat

下载apache-tomcat-7.0.62.zip并解压缩。过程略 1.4 MySQL

下载mysql-server-5.6并安装。过程略。

为sonar创建database。添加用户及权限。过程略。 1.5 SonarQube

第 2 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

下载SonarQube-5.2.zip,解压并安装。配置SonarQube的环境变量。过程略。 安装过后进入安装后的主目录,进入~/bin/windows-x86-/,双击StartSonar.bat,等app process[search] is up以及app process[web] is up后,在浏览器中输入:http://localhost:9000 ,admin/admin登陆,测试sonarqube是否可以访问。 1.6 Sonar Runner

下载sonar-runner-disk-2.4.zip,解压。配置Sonar Runner的环境变量。过程略。 配置Sonar Runner目录中/conf/sonar-runner.properties。配置指定的Sonar Server地址、数据库URL、数据库用户名及密码、Sonar Server用户名及密码。

2 Jenkins环境

2.1 Jenkins安装

下载jenkins-1.639.zip。解压后安装。安装步骤略。将端口改为8081或其他。 2.2 Jenkins插件

第 3 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

打开http://172.16.200.188:8081/ 。点击系统管理。右侧如出现新版本升级提示,则点击升级。Jenkins自动升级后会重启。重启完成后,再次进入系统管理页面。点击“管理插件”。可以有选择性的安装插件。推荐插件如下:

Subversion Plugin(svn插件) SonarQube Plugin(Sonar插件) Git Plugin(Git插件) Git Client Plugin Gitlab Hook Plugin

Deploy to container Plugin(自动化部署) Email Extension Plugin 2.3 Jenkins全局配置

进入系统管理,点击右侧的系统设置。 2.3.1 Maven Configuration

配置Maven的setting.xml地址。

2.3.2 JDK

第 4 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

配置JDK的JAVA_HOME地址

2.3.3 Git

配置Git的git.exe地址。如下:

或者

2.3.4 SonarQube Runner

配置SonarQube Runner的home地址。如下:

第 5 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

2.3.5 Maven

配置Maven home地址

2.3.6 Jenkins Location

配置Jenkins Location的系统管理员邮件地址

2.3.7 SonarQube

配置SonarQube

第 6 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

2.3.8 邮件通知

配置邮件通知。此处一定要与Jenkins Location中的系统管理员邮件配置共同设置。

2.3.9 Gitlab(可选)

如果使用Gitlab管理代码,可以在安装Gitlab Plugin后,在此配置Gitlab地址以及API Token。

第 7 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

API Token获取方式:登陆Gitlab,进入个人的配置页面profile settings,在Account中,复制private token。该登录账号与后续Jenkins集成Gitlab时所用账号要一致。

2.4 Jenkins管理Job

2.4.1 新建Job

打开Jenkins首页,点击新建。Item名称为新建Job的名称。选择Job类型。此处就以“构建一个Maven项目”为例。如图:

2.4.2 源码管理

在源码管理中,选择Subversion(确保Jenkins已安装Subversion Plugin插件)。输入如下信息:

Repository URL:SVN远程仓库地址。

Credentials:点击Add,增加SVN的账户和密码信息后,选择新添加的信息。

第 8 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

2.4.3 构建触发器

在构建触发器中,配置如下:

Build periodically:H 12,20 * * *。作用是每天12点和20点进行周期性的项目构建(无论代码有没有变化)。

Poll SCM:H/10 * * * *。作用是每隔10分钟根据SCM的版本号进行一次代码检查。如果有更新则checkout新代码,并进行自动构建。

2.4.4 Build

第 9 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

由于当前项目已经是Maven项目,我们可以直接用Maven命令进行Build操作以及使用sonar:sonar命令进行代码检查。如下。

2.4.5 发布项目

此处给出两种方式。其中两种方式均不是最优方式。第一种非热部署,但是可以保证自动构建正常运行。第二种热部署,但是可能会在多次自动构建后,导致内容溢出等问题(尚未解决该问题,待解决后更新该文档)。因此目前推荐第一种方式。

2.4.5.1 利用Windows命令

利用Windows命令,将tomcat服务停止后,拷贝Jenkins的Jobs中构建好的war包至容器的webapps中,启动tomcat服务。命令如下:

@ECHO OFF

set CATALINA_HOME=D:\\apache-tomcat-7 call \"%CATALINA_HOME%\\bin\\shutdown.bat\" copy

d:\\Jenkins\\jobs\\demo\\workspace\\demo-web\arget\\demo-web-1.0.0-SNAPSHOT.war D:\\apache-tomcat-7\\webapps\\demo-web.war

call \"%CATALINA_HOME%\\bin\\startup.bat\" 如图:

第 10 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

或者 @ECHO OFF

set CATALINA_BASE=D:\\apache-tomcat-7 set CATALINA_HOME=D:\\apache-tomcat-7 set CATALINA_TMPDIR=D:\\apache-tomcat-7\emp call \"%CATALINA_HOME%\\bin\\shutdown.bat\" copy

D:\\Jenkins\\jobs\ech-service-market-develop\\workspace\ech-service-market-web\arget\ech-service-market-web-1.0.0-SNAPSHOT.war D:\\apache-tomcat-7\\webapps\ech-service-market-web.war

call \"%CATALINA_HOME%\\bin\\startup.bat\" 如图:

2.4.5.2 利用Jenkins插件

第 11 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

在构建后操作,选择增加Deploy war/ear to a container。配置如下信息: WAR/EAR files:路径为Jenkins/job/demo/workspace的相对路径。 Context Path:项目访问名称

Manaver user name和password:一定要在tomcat/conf/tomcat-users.xml中进行角色、管理员账号、密码等的设置。如:

username=\"tomcat\"

password=\"tomcat\"

roles=\"tomcat,role1,manager-script,manager-status,admin-script,admin-gui,manager-gui\"/>

Tomcat URL:Tomcat的首页。

第 12 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

3 Jenkins构建项目

3.1 构建项目

登陆Jenkins首页,点击所要构建的项目后面的时钟图标。如图:

此时可以看到Jenkins左侧构建执行状态中,正在构建项目。

第 13 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

点击Job的名称,进入Job管理页面,可以看到项目正在构建的状态。

点击Console Output,可以看到当前构建的控制台输出信息。

看到控制台输出了Finished:SUCCESS,即为构建成功。

第 14 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

3.2 Sonar报告

管理员账号登陆Sonar首页http://172.16.200.188:9000/ 在右侧可以看到刚刚执行过的代码检查。

进入项目,可以看到详细报告。如图:

第 15 页 共 16 页

Jenkins+SVN+Maven+Sonar自动化部署环境搭建 江苏风云科技服务有限公司

第 16 页 共 16 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务