
李栋
2015年12月18日
1服务器环境
本文档适用于windows下的自动化部署环境搭建。
1.1Java环境
下载jdk-7u51-windows-x.exe并安装。配置Java环境变量。过程略。
1.2Maven环境
下载apache-maven-3.3.3.zip并解压缩。配置Maven环境变量。过程略。
在setting.xml中配置repository。
1.3Tomcat
下载apache-tomcat-7.0.62.zip并解压缩。过程略
1.4MySQL
下载mysql-server-5.6并安装。过程略。
为sonar创建database。添加用户及权限。过程略。
1.5SonarQube
下载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.6Sonar Runner
下载sonar-runner-disk-2.4.zip,解压。配置Sonar Runner的环境变量。过程略。
配置Sonar Runner目录中/conf/sonar-runner.properties。配置指定的Sonar Server地址、数据库URL、数据库用户名及密码、Sonar Server用户名及密码。
2Jenkins环境
2.1Jenkins安装
下载jenkins-1.639.zip。解压后安装。安装步骤略。将端口改为8081或其他。
2.2Jenkins插件
打开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.3Jenkins全局配置
进入系统管理,点击右侧的系统设置。
2.3.1Maven Configuration
配置Maven的setting.xml地址。
2.3.2JDK
配置JDK的JAVA_HOME地址
2.3.3Git
配置Git的git.exe地址。如下:
或者
2.3.4SonarQube Runner
配置SonarQube Runner的home地址。如下:
2.3.5Maven
配置Maven home地址
2.3.6Jenkins Location
配置Jenkins Location的系统管理员邮件地址
2.3.7SonarQube
配置SonarQube
2.3.8邮件通知
配置邮件通知。此处一定要与Jenkins Location中的系统管理员邮件配置共同设置。
2.3.9Gitlab(可选)
如果使用Gitlab管理代码,可以在安装Gitlab Plugin后,在此配置Gitlab地址以及API Token。
API Token获取方式:登陆Gitlab,进入个人的配置页面profile settings,在Account中,复制private token。该登录账号与后续Jenkins集成Gitlab时所用账号要一致。
2.4Jenkins管理Job
2.4.1新建Job
打开Jenkins首页,点击新建。Item名称为新建Job的名称。选择Job类型。此处就以“构建一个Maven项目”为例。如图:
2.4.2源码管理
在源码管理中,选择Subversion(确保Jenkins已安装Subversion Plugin插件)。输入如下信息:
Repository URL:SVN远程仓库地址。
Credentials:点击Add,增加SVN的账户和密码信息后,选择新添加的信息。
2.4.3构建触发器
在构建触发器中,配置如下:
Build periodically:H 12,20 * * *。作用是每天12点和20点进行周期性的项目构建(无论代码有没有变化)。
Poll SCM:H/10 * * * *。作用是每隔10分钟根据SCM的版本号进行一次代码检查。如果有更新则checkout新代码,并进行自动构建。
2.4.4Build
由于当前项目已经是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"
如图:
或者
@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插件
在构建后操作,选择增加Deploy war/ear to a container。配置如下信息:
WAR/EAR files:路径为Jenkins/job/demo/workspace的相对路径。
Context Path:项目访问名称
Manaver user name和password:一定要在tomcat/conf/tomcat-users.xml中进行角色、管理员账号、密码等的设置。如:
Tomcat URL:Tomcat的首页。
3Jenkins构建项目
3.1构建项目
登陆Jenkins首页,点击所要构建的项目后面的时钟图标。如图:
此时可以看到Jenkins左侧构建执行状态中,正在构建项目。
点击Job的名称,进入Job管理页面,可以看到项目正在构建的状态。
点击Console Output,可以看到当前构建的控制台输出信息。
看到控制台输出了Finished:SUCCESS,即为构建成功。
3.2Sonar报告
管理员账号登陆Sonar首页http://172.16.200.188:9000/
在右侧可以看到刚刚执行过的代码检查。
进入项目,可以看到详细报告。如图:
