Jenkins软件开发持续集成及自动构建

1. jenkins简介

1.1. 什么是敏捷开发

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

1.2. 什么是持续集成(CI)

因为开发部门同时维护多个版本,多个版本的发布,测试需要大量人力,所以要有一个专业的持续集成工具来管理持续重复的工作。

1.3. 什么是tomcat热部署

1) 热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效。但是对配置文件的修改除外。

2) 配置tomcat用户名密码,修改tomcat 配置文件tomcat-users.xml

3) 以maven项目实现tomcat热部署

A. 在pom.xml文件中加入下面的配置

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

http://192.168.153.160:8080/manager/text #远程tomcat地址

/aaa#构建的项目名称,war包名称

tomcat#制定web服务器类型为tomcat

chenjian#tomcat用户名

tiger#tomcat密码

B. 在pom文件上右键单击

C. 输入下面的构建参数,详细请参考maven配置。单机运行,开始build,

Jenkins软件开发持续集成及自动构建_第1张图片

D. 出现下面信息,说明项目构建成功。

Jenkins软件开发持续集成及自动构建_第2张图片

E. 检查tomcat热部署结果,可以发现最新的工程已经正常构建并发布到192.168.153.160的tomcat中。

1.4. 什么是jenkins

1) Jenkins是一个持续集成CI工具。它可以持续编译,运行你的代码;运行UT或集成测试;将运行结果发送至邮件,或展示成报告。

2) Jenkins起源于Hudson。Hudson在商业软件的路上继续前行,而Jenkins则作为开源软件,从hudson分支出来。 因此现在的jenkins和hudson非常类似,但是随着二者各自的发展,已经有了一些不同。

1.5. 安装配置jekins(linux)

1) 下载jenkins的war包

官网下载地址:https://jenkins.io/index.html

Jenkins软件开发持续集成及自动构建_第3张图片

2) linux服务器环境准备

a) 在服务器192.168.153.161上安装jdk,tomcat,并配置环境变量

b) 在服务器192.168.153.161上安装svn。

yum -y install svn

Jenkins之30分钟搞定软件开发持续集成及自动构建

c) 在服务器192.168.153.161上安装maven,并配置环境变量。

maven的安装和在windows上安装配置相同,在此不过多解释。

3) 将下载好的jenkins war包上传至服务器192.168.153.161的tomcat webapps目录下。打开浏览器如果出现下面老人头像说明jenkins启动成功。

Jenkins软件开发持续集成及自动构建_第4张图片

4) 初始化配置jenkins

Jenkins软件开发持续集成及自动构建_第5张图片

5) 配置jdk

Jenkins软件开发持续集成及自动构建_第6张图片

6) 配置maven

Jenkins软件开发持续集成及自动构建_第7张图片

1.6. 创建jenkins任务

Jenkins软件开发持续集成及自动构建_第8张图片

1) 创建第一个jenkins任务

2) 项目名称和描述

Jenkins软件开发持续集成及自动构建_第9张图片

Jenkins软件开发持续集成及自动构建_第10张图片

3) 源码管理,配置svn服务器地址

问题一:

Jenkins软件开发持续集成及自动构建_第11张图片

问题二:

修改主机名为ip(svn服务器的ip地址)之后,查看jenkins的日志,发现下面的错误,原因是svn服务器需要用户名和密码的认证。点击"enter credential"链接输入svn帐号密码即可。

Jenkins软件开发持续集成及自动构建_第12张图片

Jenkins软件开发持续集成及自动构建_第13张图片

Jenkins软件开发持续集成及自动构建_第14张图片

4) 添加maven构建参数,然后保存。返回到主页。

1.7. 运行jenkins任务。

jenkins任务开始前,修改代码并提交svn库。

Jenkins软件开发持续集成及自动构建_第15张图片

开始运行,单机绿色的开始按钮如下图:

Jenkins软件开发持续集成及自动构建_第16张图片

左下角显示构建状态

点击任务名称,进入任务详情页面,注意:第一次构建需要下载很多maven插件和依赖包,大概需要5分钟左右。

Jenkins软件开发持续集成及自动构建_第17张图片

返回首页,可以发现任务状态显示成功!

检查目标tomcat状态。正常!!!

Jenkins软件开发持续集成及自动构建_第18张图片

1.8. jenkins定时任务

作为项目经理,有些时候为了配合自动化测试,需要在夜间或者其他指定时间定期发布测试物,如果靠人工来完成的话,非常的耗时耗力,jenkins提供了定时执行任务的功能。

Jenkins软件开发持续集成及自动构建_第19张图片

下面定义每天晚上23点50分执行任务,满足无人值守自动构建项目。

时间格式的详细说明:

Jenkins软件开发持续集成及自动构建_第20张图片

a) 分钟,取值范围(0~59):若其他值不做设定,则表示每个设定的分钟都会构建 如:5 * * * * ,表示每个小时的第5分钟都会构建一次

b) 小时,取值范围(0~23):若其他值不做设定,则表示每个设定小时的每分钟都会构建 如:* 5 * * * ,表示在每天5点的时候,一小时内每一分钟都会构建一次

c) 日期,取值范围(1~31):若其他值不做设定,则表示每个月的那一天每分钟都会构建一次 如:* * 5 * *,表示在每个月5号的时候,0点开始每分钟构建一次

d) 月份,取值范围(1~12):若其他值不做设定,则表示每年的那个月每分钟都会构建一次 如:* * * 5 *,表示在每年的5月份,1号0点开始每分钟构建一次

e) 星期,取值范围(0 ~ 7):若其他值不做设定,则表示每周的那一天几每分钟都会构建一次 如:* * * * 5,表示每周五0点开始每分钟构建一次

1.9. jenkins执行shell脚本

如果想在jenkins任务开始创建之前执行某个shell 脚本,jenkins提供下面的功能

你可能感兴趣的:(jekins)