参考文档:https://note.youdao.com/ynoteshare1/index.html?id=39df8e35454a3e156036f559424d3d8b&type=note
部署过程:
1、先在postman上新建一个团队空间,邀请团队人员加入
为了方便后续运行部署,我这边接口分类分为dev、online两个环境,然后在不同环境里可以在区分host,根据host分类
2、由于团队更新次数有限,所以新建了一个gitLab,用于大家更新接口以后,将导出的json文件远程提交到gitLab上
#先在gitLab新建一个远程仓库,完成后在本地clone一下
git clone https://gitlab.corp.youdao.com/xiaolp/autoTest.git
#将导出的json文件放到这个本地仓库路径下,接着将json提交
git add *
git commit -m “xxx”
#输入变更信息
git push
#即可完成json文件提交
#遇到的问题:提交一次代码后,在远程仓库删了一些东西,此时直接提交,会出现报错
#解决方案:运行 git pull 再进行提交即可
3、linux虚拟机上需要安装node环境,node版本>=10.0,且跑起一个tomcat服务,方便后续生成html报告,大家都可以访问
安装newman命令行:npm install -g newman
安装newman自带测试报告:npm install newman-reporter-html
4、开始部署Jenkins服务
新建一个自由风格的job,开始配置~
参数化构建,enviroment需要对应postman的environment设置取的名字;buildName取postman执行集的名字就可
项目编译jdk,git仓库,运行节点选择
构建执行shell
ssh -tt dict@$ahost <<EOF
cd /disk2/xiaolp
if [ -d 'autoTest' ];then
rm -rf autoTest
fi
mkdir autoTest
scp -r zj131:/$WORKSPACE/* /disk2/xiaolp/autoTest
if [ -d '/disk2/zhiyun/apache-tomcat-9.0.37/webapps/Report/${environment}/report' ];then
rm -rf /disk2/zhiyun/apache-tomcat-9.0.37/webapps/Report/${environment}/report
fi
cd ~
mkdir /disk2/zhiyun/apache-tomcat-9.0.37/webapps/Report/${environment}
mkdir /disk2/zhiyun/apache-tomcat-9.0.37/webapps/Report/${environment}/report
sleep 2s
newman run "/disk2/xiaolp/autoTest/${buildName}.postman_collection.json" --environment "/disk2/xiaolp/autoTest/${environment}.postman_environment.json" --reporters html --reporter-html-export "/disk2/zhiyun/apache-tomcat-9.0.37/webapps/Report/${environment}/report/${buildName}.html"
sleep 5s
cd /disk2/zhiyun/apache-tomcat-9.0.37/webapps/Report/${environment}/report
ls ${buildName}.html
echo "http://zhiyuntest-postman.inner.youdao.com/Report/${environment}/report/${buildName}.html"
exit
构建后提醒
生成的html报告:http://zhiyuntest-postman.inner.youdao.com/Report/xbk-dev/report/xbk-dev-mobile.html
后期可在执行集里在添加文件夹,即folder,用-r folder
folderName来实现运行,且在单个environment里添加多个dev环境不同的host