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

1.jenkins简介

1.1.什么是敏捷开发

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

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

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

image

1.3.什么是tomcat热部署

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

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

| <role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="chenjian" password="tiger" roles="manager-gui, manager-script"/> |

  1. 以maven项目实现tomcat热部署

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

| <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://192.168.153.160:8080/manager/text</url> #远程tomcat地址
<path>/aaa</path>#构建的项目名称,war包名称
<server>tomcat</server>#制定web服务器类型为tomcat
<username>chenjian</username>#tomcat用户名
<password>tiger</password>#tomcat密码
</configuration>
</plugin> |

B. 在pom文件上右键单击

image

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

image

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

image

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

image

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

image
  1. linux服务器环境准备

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

image

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

yum -y install svn

image

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

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

image
  1. 将下载好的jenkins war包上传至服务器192.168.153.161的tomcat webapps目录下。打开浏览器如果出现下面老人头像说明jenkins启动成功。
image
  1. 初始化配置jenkins
image
  1. 配置jdk
image
image
  1. 配置maven
image

1.6.创建jenkins任务

image
  1. 创建第一个jenkins任务
image
  1. 项目名称和描述
image
image
  1. 源码管理,配置svn服务器地址

问题一:

image
image

问题二:

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

image
image
image
  1. 添加maven构建参数,然后保存。返回到主页。
image

1.7.运行jenkins任务。

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

image

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

image

左下角显示构建状态

image

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

image
image

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

image

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

image

1.8.jenkins定时任务

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

image

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

image

时间格式的详细说明:

image

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提供下面的功能

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容