使用背景:

        自动化脚本运行在linux电脑上,可以生成allure报告,如何实现将生成的报告上传到专用服务器(另一台linux),可以保持集中管理,实时显示(否则需要启allure进程或者tomcar或dgango这个前后端显示)。

上传的方式:

        1.scp 传输  

        2. 用http接口传输

        3.用 nfs 实现磁盘共享,实际是将服务器的某个磁盘划出来,客户端会通过nfs将内容传到服务器端,两个路径均可以进行查看等操作

服务器和客户端环境部署

服务器设置:

sudo apt update
sudo apt install nfs-kernel-server
sudo mkdir -p /share/reports
sudo chmod -R 777 /share/reports  # 为简单起见,此处设置为777,生产环境建议根据用户规划精细授权
sudo vim /etc/exports #在文件尾行新增以下一行设置
/share/reports *(rw,sync,no_subtree_check,no_root_squash) 
sudo systemctl restart nfs-kernel-server

客户端设置:  

        服务器ip如:10.12.11.120或者 192.168.2.2

        /root/obj/report 是客户端本机  运行报告的地址

        /share/reports 是服务器端的地址,实际可以替换成这个路径下的任何已存在的地址如/share/reports/20200802_10.12.xx.xx_report 这样方便不同电脑报告区分

sudo apt update
sudo apt install nfs-common
sudo mount -t nfs4 -o minorversion=2 服务器ip:/share/reports /root/obj/report

以上命令执行完成后就设置成功了

操作共享

/share/reports /root/obj/report 两个路径算是共享路径,在服务器和客户端两者的任何操作,均会在另一端同步

        客户端在共享路径,创建新的文件夹

        服务器端同步了

        同样服务器端 新增和删除也会同步到客户端的/root/obj/report路径

确定mount成功

        需要确认report内容是的正常传输成功。

可以在服务器上执行 df -h | grep {aaa} | wc -l    如果结果为1算是传输成功

解除mount 

         框架会删除root/obj/report路径,所以实际需要将root/obj/report替换到另一个路径去如(/tmp/.report),防止误操作, 另外也要解除mount操作,以方便下次报告的传输。

sudo umount -t nfs4 服务器ip:/share/reports /root/obj/report

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐