持续集成环境Jenkins详解

来源:互联网 发布:linux开放端口 编辑:程序博客网 时间:2024/06/05 10:23

Jenkins介绍 
Jenkins是一个开源的Java Web项目,一个持续集成的Web项目。例如在自动化测试中,开发了自动化测试的脚本,不可能一直用IDE来运行,然后查看测试结果,这个时候我们就需要借助一个平台,可以自动获取最新代码,编译并构建,并且是在设置的时间持续执行,自动化完成这些步骤以后并把测试的结果以邮件的形式发送给指定的开发,测试人员,这是Jenkins在自动化测试上的主要用途。 
这篇博文旨在把一些零散的资料集中起来,加上我在工作中使用Jenkins时碰到的问题的一个总结。

安装步骤 
首先从官网下载Jenkins的工程包 http://mirrors.jenkins-ci.org/war/latest/jenkins.war 
可以看到,这是一个Java Web项目的war文件,有两种方式来部署Jenkins:

  1. 通过Tomcat来部署,跟部署一般的Web项目一样进行,如果需要修改Jenkins的根目录,需要设置环境变量,变量名:JENKINS_HOME,变量值:需要设置的路径,然后重启tomcat即可。

  2. 直接通过java命令来部署,通过命令行进入jenkins.war的文件夹中,然后执行命令 java -jar jenkins.war,最后看到如图所示的结果,即部署完成 
    这里写图片描述 
    这里写图片描述

第二种方式更为简单点,如果需要部署的服务器上已经有tomcat的环境,并且想用tomcat来统一管理web系统,可以选择第一种方式。 
第二种方式的jenkins根目录文件夹是C:\Users\<用户名>\.jenkins

输入 localhost:8080即可进入Jenkins的主页 
这里写图片描述
点击Manage Jenkins进入Jenkins的管理界面,在Install as Windows Service中可以修改Jenkins的根目录文件夹 
这里写图片描述 
修改成需要的路径以后点击Install 
这里写图片描述 
完成安装以后,Jenkins会以windows server的方式启动,在开始中执行service.msc命令,查看jenkins service 
这里写图片描述
当然,也可以通过命令 service remove jenkins 来卸载。

Jenkins配置 
Jenkins部署完成后就可以开始配置任务了,点击New Item按钮后进入项目类型选择的界面,在配置任务之前,需要安装一些必要的插件,Manage Jenkins -> Manage Plugins -> Available 
搜索下面几个重要插件并安装 
Subversion Plug-in : SVN插件 
Maven Integration plugin :Maven插件 
Credentials Plugin: 凭证管理插件 
Environment Injector Plugin: 环境变量引入插件 
Email Extension Plugin: 邮件扩展插件

插件安装完成后开始配置任务,新建一个项目,输入项目名称,因为我的自动化测试框架和脚本是Maven项目,方便管理第三方插件,所以项目选择中选Maven Project 
这里写图片描述
下面图文介绍参数的意义 
这里写图片描述
这里写图片描述
这里写图片描述
如果执行计划不知道怎么设置,可以点击旁边的问号作为参考 
这里写图片描述
简单说就是5个字符,从左到右的意思依次是:分钟,小时,日,月,星期 
我一般的设置是 H 10-17 * * 1-5,表示周一到周五,从上午10点到下午5点,每个小时执行一次。基本覆盖了工作的时间。 
一个简单的任务就配置完了。

其它配置 
Jenkins管理配置 
这里写图片描述

JDK配置,把服务器上的Java环境贴上去就可以了 
这里写图片描述
Maven 
这里写图片描述
这里写图片描述

邮件配置,这个配置比Jenkins自带的邮件功能要强大,是上文提到的邮件插件。 
这里写图片描述

另外提供一个比较完整的邮件内容模板,粘贴到Default Content即可。

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head><body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    offset="0">    <table width="95%" cellpadding="0" cellspacing="0"        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">        <tr>            <td>(本邮件是程序自动下发的,请勿回复!)</td>        </tr>        <tr>            <td><h2>                    <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>                </h2></td>        </tr>        <tr>            <td><br />            <b><font color="#0B610B">构建信息</font></b>            <hr size="2" width="100%" align="center" /></td>        </tr>        <tr>            <td>                <ul>                    <li>项目名称 : ${PROJECT_NAME}</li>                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>                    <li>SVN 版本 : ${SVN_REVISION}</li>                    <li>触发原因 : ${CAUSE}</li>                    <li>构建 URL : <a href="${BUILD_URL}">${BUILD_URL}</a></li>                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>                </ul>            </td>        </tr>        <tr>            <td><b><font color="#0B610B">构建项目描述</font></b>            <hr size="2" width="100%" align="center" /></td>        </tr>        <tr>            <td><pre                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">${JOB_DESCRIPTION}</pre>                <br /></td>        </tr>        <tr>            <td><b><font color="#0B610B">失败的测试结果</font></b>            <hr size="2" width="100%" align="center" /></td>        </tr>        <tr>            <td><pre                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">${FAILED_TESTS}</pre>                <br /></td>        </tr>    <tr>            <td><pre                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">具体请查看附件build.log</pre>                <br /></td>        </tr>    </table></body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62

邮件发送触发方式全部打勾 
这里写图片描述

项目的邮件配置如下 
这里写图片描述

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 月经下不来内裤上总有脏东西怎么办 夏天外衣薄露出内衣怎么办 金毛体味很重怎么办 直筒连衣裙太短怎么办 托班社会下雨了怎么办 托班下雨了怎么办教案 吃鸡界面有鼠标怎么办 老年机成英语了怎么办 手机成了英语了怎么办 塑料袋融化粘到衣服上怎么办 厕所被卫生纸堵了怎么办 钻石画的胶不粘了怎么办 客厅沙发选大了怎么办 连衣裙腰大了怎么办呀 憋尿后出现尿急尿涨怎么办 脚有酸酸的味道怎么办 三星手机home键失灵怎么办 三星s6返回键失灵怎么办 三星s7屏幕漏液怎么办 三星s8出现蓝框怎么办 三星手机短信图标没了怎么办 ps没有足够的ram怎么办 ps性能调不了是怎么办 苹果6p照相模糊怎么办 相框玻璃碎了怎么办 word文档加密后忘记密码怎么办 手机wps密码忘了怎么办 苹果手表忘了密码怎么办 苹果系统忘了密码怎么办 ps画板建小了怎么办 wps表格密码忘了怎么办 word文档变成虚的怎么办 wps论文中表格跨页怎么办 word文档复制过来有边框怎么办 wps表格跨页断开怎么办 锅的铆钉老是松怎么办 文胸不知道怎么染色了怎么办 未后的信息我该怎么办? 做leep手术后大出血怎么办 眼线笔出不了水怎么办 手机字体变成空心字怎么办