Jenkins自动化搭建测试环境
Jenkins自动化搭建测试环境
一、介绍
jenkins是一块免费的通用开源平台
jenkins常常用于自动化测试,持续集成,特别是构建环境更是jenkins的拿手好戏
二、使用
2.1 Jenkins的下载与安装(下载war包是免安装的)
点击这个war就能下载,下载后放到自己想要放置的文件夹中,例如我这里放置在(app/workspace/jenkines)
2.2 运行
进到jenkins的war文件所在的目录运行java -jar jenkines.war
在浏览器输入localhost:8080可以看到如下的jenkins启动页,接着请输入管理原的初始化密码,然后点击continue
点击continue后会跳转到以下所示的页面,左边框是安装建议的插件,右边是自选插件去安装,为了方便起见,我们一般选择左边的选项
单机左边的框,会跳转到正在安装页面
安装完毕后需要创建你的第一个Admin用户,这里的用户信息自己自定义,记住自己填的信息就行
点击save and finish按钮
这个时候就可以开始使用jenkins了
三、jenkins基础
3.1 安装插件
默认的jenkins安装的插件功能是有限的,插件为jenkins提供了各种扩展功能。这里通过演示安装两个本人认为不错的插件来让大家看看安装插件的步骤。
第一步:
第二步:
第三步:点击可选插件
第四步:输入要安装的插件名,我这里安装的是rebuilder,这个插件的作用是用于重新构建,还有一个叫做safe restart插件也是我推荐安装的,作用是安全的帮助你重启。
第五步:选中了点击直接安装
第六步:看到插件名显示安装完成即表示成功安装
3.2 jenkins基础配置
3.2.1 配置全局安全属性
在jenkins里,默认的全局安全性是用户登录之后可以做任何事情,这种配置相对来说不是很安全,所以需要对它进行调整。
第一步:点击系统管理,进入configure globalsSecurity
第二步:在授权策略中选择安全矩阵
第三步:添加用户,我这里就把我们刚刚安装完成后创建的第一个Admin用户 “admin”添加进去
第四步:赋予admin用户权限
第五步:最后点击保存
3.2.2 添加自定义用户
第一步:点击“系统管理”,接着点击“管理用户”
第二步:新建用户
第三步:添加用户信息,然后点击“新建用户”
第四步:创建好用户之后需要给用户赋予权限,我们可以给它赋予除管理员以为的其他所有权限
第五步:因为test01不是管理员,所有它的菜单并没有“系统管理菜单”
四、应用部署服务器准备
我的应用部署服务器是linux系统。“应用部署”与“jenkins服务”是分别部署在不同的服务器上的。
4.1 应用部署服务器准备
1.知道这台应用部署服务器的ip地址:linux系统查看ip地址的命令是ifconfig
2.知道这台应用部署服务器的用户名及密码
3.确定这台应用部署服务器可以远程ssh连接:ssh是用于远程登录的安全协议,jenkins与应用部署服务器之间就是基于ssh协议
在应用部署服务器中用命令行输入netstat -anp|grep :22
如果看到22端口已启动,并被sshd占用即证明ssh服务已启动
如果ssh服务没启动,需要在命令行输入命令进行启动service sshd start
4.确定防火墙处于关闭状态(测试环境一般都是内网使用,相对较安全,可以选择关闭防火墙来方便调试)
在linux中关闭防火墙的命令是service iptables stop
确认防火墙是否真的已关闭,输入命令service iptabbles status
看到这句代表防火墙已关闭
4.2 应用部署服务器(操作系统为centos)软件安装与配置
4.2.1 安装java环境
第一步:安装
第二步:验证java环境是否安装成功
4.2.2 安装并配置git
第一步:安装git
第二步:验证git是否安装成功
第三步:对git进行初始化设置,name和email不一定要真实,只要输入就可以
第四步:生成授权证书
第五步:查看秘钥文件,pub结尾的是公钥
第六步:把公钥证书注册到github上
第七步:验证应用部署服务器与github是否联通
4.2.3 安装并配置maven
第一步:下载maven包
http地址为刚刚复制的链接地址
第二步:解压安装maven
第三步:配置maven系统参数
1.进到maven的安装目录输入pwd,复制路径
2.在系统的属性文件中添加maven的参数设置
3.加载一下更新后的系统配置
第四步:验证maven的配置是否已正确
4.2.4 安装并配置tomcat
第一步:下载tomcat
第二步:解压tomcat
第三步:配置tomcat
1.给tomcat路径下的可执行程序赋予执行权限(a+x代表在linux系统上登录的所有人,-R代表该命令的作用范围(当前路径及当前路径下的子路径),*代表路径下的所有文件名)
2.配置tomcat的端口
把8080修改成8090,然后保存。因为jenkins用了8080
第三步:启动验证tomcat是否配置成功
五、将linux服务器注册到jenkins上
5.1 新建节点
第一步:回到jenkins管理控制台点击“系统管理”,“管理节点”,然后新建节点
第二步:输入一个节点名称,选择Permanent Agent
第三步:配置路径,ip,用户名,密码
第四步:选择启动方法,这代表我们这个jenkins将通过ssh协议与应用部署服务器进行通信
第五步:输入应用部署服务器的ip地址
第六步:添加登录应用部署服务器的用户名和密码
第七步:验证linux服务器已经成功注册到jenkins上
1.单击刚刚添加的节点
2.单击Launch agent
3.观察日志是否成功连接上
5.2 运行验证任务
第一步:回到jenkins的主页,点击“创建一个新任务”
第二步:随便输入一个任务名
点击“立即构建”执行任务
六、开发自动化部署任务
6.1 简述自动化部署过程
git同步最新代码–>maven打包–>停止tomcat——>部署应用–>启动tomcat–>验证启动结果(浏览器访问)
6.2 编写自动化部署脚本
===begin============================
#使用shell语言编写,
#!/usr/bin/env bash
#编译和部署weikai_server项目
#需配置如下参数
#项目路径,Execute Shell中配置项目路径, pwd 就可以获得该项目路径
#export PROJ_PATH=这个jenkins任务在部署机器上的路径
#输入你的环境上tomcat的全路径
#export TOMCAT_APP_PATH=tomcat在部署机器上的路径
### base函数
killTomcat()
{
pid=`pa -ef|grep tomcat|grep java|awk '{print $2}'`
echo "tomcat Id list :$pid"
if ["$pid" = ""]
then
echo "no tomcat pid alive"
else
kill -9 $pid
fi
}
#当前的执行语句进入weikai_server工程的根目录然后执行mvn clean install
cd $PROJ_PATH/weikai_server
mvn clean install
#停tomcat,调用上面的函数
killTomcat
#删除原有工程,删除文件用rm -f 删除目录用rm -rf
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/weikai_server.war
#复制新的工程
cp $PROJ_PATH/weikai_server/target/weikai_server.war $TOMCAT_APP_PATH/webapps/
cd $TOMCAT_APP_PATH/webapps/
#将上一个复制操作的weikai_server.war 重命名为ROOT.war 注意ROOT一定要大写(将构建好的工程作为一个ROOT工厂发布在tomcat上)
mv weikai_server.war ROOT.war
#启动Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh
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
=end==========================
6.3 创建jenkins自动化部署任务
创建过程:
1.创建jenkins任务
2.填写server信息
3.配置git参数
4.填写构建语句,实际部署测试环境
6.3.1 创建就jenkins任务
第一步:新建任务
第二步:填写任务在哪个节点执行
第三步:到github上复制仓库的ssh地址
第四步:
源代码会从github上下载到当前路径下面的子目录,子目录的名字叫order
第五步:增加构建步骤
————————————————
版权声明:本文为CSDN博主「nelson620」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aimashi620/article/details/84061875