其他网址
简介
Jenkins说明
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的)。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
作用
- 持续、自动的构建/测试软件项目
- 监控外部任务(比如定时任务)的运行
但不局限于这两点,例如Jenkins还能远程部署、异常处理监控等。
特点
- 易于部署:可在Tomcat等流行的servlet容器中运行(把jenkins.war部署进去),也可独立运行。
- 易于配置:所有配置都是通过其提供的web界面实现。
- 集成RSS/E-mail:通过RSS发布构建结果或当构建完成时通过e-mail通知。
- 生成JUnit/TestNG测试报告。
- 分布式构建支持:Jenkins能够让多台计算机一起构建/测试。
- 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
- 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。
- 支持Maven的模块(Module):Jenkins对Maven做了优化,因此它能自动识别Module,每个Module可以配置成一个job,相当灵活。
- 测试报告聚合:所有模块的测试报告都被聚合在一起,结果一目了然,使用其他CI,这几乎是件不可能完成的任务。
- 构件指纹(artifact fingerprint):每次build的结果构件都被很好的自动管理,无需任何配置就可以方便的浏览下载。
CI
CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。如下图所示
CD
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。
下载与部署
环境准备
JDK:
maven:
SVN:
1.下载
下载war包
2.部署
法1:部署到tomcat
将jenkins.war放进tomcat/webapps
法2:单独运行
java -jar jenkins.war --httpPort=8081
此种方法运行需要修改端口,默认是8080与Tomcat冲突。
法1:用--httpPort指定,例如:--httpPort=8081
法2:修改配置文件。
windows:jenkins.xml
,修改--httpPort项
Linux:/etc/sysconfig/jenkins,修改JENKINS_PORT
初始化
设置密码
登入http://localhost:8081/jenkins,进入Jenkins初始化页面,第一次启动时间可能有点长,耐心等待。进入成功后会看到如下画面,按提示路径打开密码文件,输入密码:
安装插件
登录进去后提示安装插件,安装推荐插件即可。
可能失败,如下图所示。
失败原因:插件需要连到外网,如连接不到外网,跳过插件安装即可:点击Skip Plugin Installations。之后可以在管理界面安装插件:
Jenkins
-->系统管理
--->管理插件
进入插件下载、安装界面- 搜索
Subversion Plug-in
实现svn的功能- 选择下载待重启后安装或直接安装
创建管理员
实例配置
采用默认即可
系统设置
前边设置成功后即进入Jenkins主界面:
点击左上侧系统管理,进入Jenkins基本系统设置(主要是以下三块)
管理插件
先进入“管理插件”模块安装必需的插件,以下是建议安装列表:
build timeout plugin
Deploy to container Plugin
Email Extension Plugin
GitHub Branch Source Plugin
Gradle Plugin
Pipeline
Pipeline:GitHub Groovy Libraries
Report Info Plugin
SSH Slaves plugin
Static Analysis Collector Plug-in
Subversion Plug-in
Timestamper
Workspace Cleanup Plugin
插件默认保存位置:C:\Users\Administrator\.jenkins\plugins
系统设置
添加编码全局属性:
增加系统管理员邮件地址:
其他的可用默认配置,保存后退出。
全局配置
配置JDK,不采用自动安装:
配置maven,不采用自动安装:
系统部署
开始添加任务,任务类型选择自由风格:
创建完成后可在主页看到如下画面:
在”All” tab下能看到新建的任务,点击该任务,进入该任务的配置页面:
设置项目备注及构建规则:
配置项目轮询的源码位置(@HEAD表示构建最新的代码)并配置代码访问密码:
配置构建触发器,如下图配置为每天晚上9:30开始构建(Cron表达式):
增加Invoke top-level Maven targets构建步骤,插件目标为编译、发现编译Bug、部署,另外还可以配置构建时忽略测试用例:
增加构建后操作步骤:Publish FindBugs analysis results,用于查看FindBugs插件的代码分析报告,该模块可采用默认配置:
增加构建后操作步骤:Deploy war/ear to a container,用于将构建后生成的war包部署至tomcat服务器,下图中Contextpath用于配置项目访问路径,如填/RMS_Server则表示项目的根访问目录为:http://localhost:8080/RMS_Server,Deploy on failure用于配置当前构建失败时是否仍然部署至tomcat,默认不选:
以上即为本项目的所有配置,完成后应用(或保存)并退出。
配置完成后即可开始构建,左侧可查看bugs分析信息及构建历史:
点击某个构建记录,如上图中的#31,即可查看构建日志、SVN代码提交日志及bugs分析结果:
编码问题
FindBugs分析报告中查看某些代码文件时可能出现中文乱码情况,如下图:
这是tomcat的编码问题导致的,可在系统管理中查看tomcat的相关编码情况:
主要关注的是file.encoding属性及sun.jnu.encoding属性,二者需要设置为UTF-8以兼容中文:
这可通过在tomcat配置文件/bin/catalina.bat文件中添加set “JAVA_OPTS=-Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8”命令实现,如下图:
配置完成后重启tomcat,可看到编码已经更改: