用Shell部署测试环境

Posted on 周三 04 五月 2016 in [环境搭建] • Tagged with [shell]Leave a comment

测试环境介绍

Testing environment(测试环境)是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。
测试环境=软件+硬件+网络+数据准备+测试工具
以上为百科定义

说的通俗一点,测试环境就是为了测试一个系统而应该具备的所有初始条件.
比如说---喝水,必须有:喝水的东西(软硬件)、水(数据)...

项目环境举例

服务端开发语言:Java
Web应用服务器:Tomcat
项目构建工具:Maven
数据库:Mysql
版本控制:Git
...
如上环境所需的工具安装不再啰嗦,下面简述一下服务端代码的整个部署过程:

1、开发童鞋提交最新代码
2、QA合并代码到测试专用分支
3、QA童鞋需要登录测试机并从测试分支上拉取代码到本地
4、打包代码(war包)
5、将War包Copy到Tomcat的webapps目录下
6、重启Tomcat...可以在启动时查看其日志/logs/catalina.out

Shell脚本一键部署

开发童鞋每一次提交,QA都需要重新部署一遍。一次两次没事,一天好几次你就能尝到那种头冒烟的感觉了。
所以啊,该懒还得懒。这些重复性的劳动就交给机器去执行吧...
挤出来的时间来杯Coffee还是可以的 哈哈

开发每次提交代码后,只需执行一下脚本即可完成部署,是不是很省心呢~
Shell就是这么 牛掰

#!/bin/sh

#进入到工程目录
cd /data/testProject

#切到qa分支
git checkout qapri/test

#从当前qa分支上拉取最新代码
git pull

#进入到工程目录
cd /data/testProject/

#用mvn clean package命令清除之前的war包并重新打包。
#-Dmaven.test.skip过滤测试用例。
#-U从Mav仓库强制更新依赖包
mvn clean package -Dmaven.test.skip -U

#获取XX工程的进程号
APIPROCESS=`ps -ef | grep java | grep tomcat_testProject/ | awk '{print $2}'`

#输出进程号
echo $APIPROCESS

#判断进程号是否真实存在,不为空则Kill掉
if [ -n "$APIPROCESS"  ];then
        kill -9 $APIPROCESS
fi

#删除当前项目tomcat webapps目录下的所有文件
rm -rf /data/tomcat/tomcat_testProject/webapps/*

#拷贝工程war包到tomcat中的web目录
cp /data/car-home/car-home-api/target/ROOT.war /data/tomcat/tomcat_testProject/webapps

#进入到项目tomcat bin目录下
cd /data/tomcat/tomcat_testProject/bin …
Continue reading