1.上传接口文件
[root@k8s-master newmanImage]# ls
build dockerfile newmanrun.sh postman_collection.json postman_environment.json
//dockerfile 要与被拷贝的文件在同一目录下
2.vi newmanrun.sh
#!/bin/bash
newman run postman_collection.json \
-e postman_environment.json \
-r htmlextra,influxdb \
--reporter-htmlextra-browserTitle 测试报告 \
--reporter-htmlextra-title 测试报告 \
--reporter-htmlextra-export /usr/share/nginx/html/index.html \
--reporter-influxdb-server 172.16.193.88 \
--reporter-influxdb-port 31001 \
--reporter-influxdb-name newman \
--reporter-influxdb-measurement api_results
3.vi dockerfile
//基于centos进行构建
FROM centos as stage-build
//拷贝接口json文件
COPY * /
//安装node.js环境,下载newman,下载插件htmlextra|html|influxdb
RUN yum -y install wget \
&& wget -O node.js.tar.xz "https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz" \
&& xz -d node.js.tar.xz \
&& tar -xvf node.js.tar \
&& ln -s /node-v16.2.0-linux-x64/bin/npm /usr/local/bin/ \
&& ln -s /node-v16.2.0-linux-x64/bin/node /usr/local/bin/ \
&& npm update -g \
&& npm install -g newman \
&& ln -s /node-v16.2.0-linux-x64/bin/newman /usr/local/bin \
&& npm install -g newman-reporter-htmlextra \
&& npm install -g newman-reporter-html \
&& npm install -g newman-reporter-influxdb
4.构建镜像
docker build -t centos/newman:v1 .
5.打标签
docker tag centos/newman:v3 242145/newman:v3
6.上传docker hub (也可以上传到harbor)
docker push 242145/newman:v3
7.部署一个Deployment (本文中使用rancher部署,安装链接)
①添加nfs类型的pv
②选择类型、镜像、端口映射等
③挂载卷 (容器路径为nginx默认地址 /usr/share/nginx/html)
8.为Deployment添加一个sidecar
①选择镜像为步骤3中构建的镜像
②添加数据卷,与第一个容器一致
③在命令中加入 sh newmanrun.sh
9查看newman镜像的容器日志
10查看nginx映射出来的index.html
11.接口执行监控 newman+influxdb+grafana
继续部署两个Deployment(influxdb:1.7)(grafana:7.0.0),配置数据源,编辑仪表盘。【链接中有写】