自动化巡检实现方法

一、自动化巡检需要会的技能

1、因为巡检要求一天24小时全天在线,因此巡检程序程序一定会放在服务器上跑,所以要对linux操作熟悉哦

2、巡检的代码要在git上管理,所以git的基本操作要熟悉

3、为了更方便不会代码的同学操作,所以整个构建需要jenkins完成

4、测试程序看你用什么语言熟悉,笔者用的是python

二、自动化巡检思路

1、写好代码上传的git,用jenkins从git上拉取代码进行构建,执行我们的业务代码,跑我们的测试流程

2、测试流程结束后,要发送测试结果邮件,并生成测试报告

(1) 邮件样式

(2)测试报告样式(点击查看日志就是通过js来实现的)

(3)发送测试邮件和每次巡检的构建时间由jenkins来控制

三、自动化巡检python的实现方式

1、python业务端的识现方式,就不在赘述了,因为那些是python基础,想实现一个自动化,不会代码是不可能的,python的代码教程B站一抓一大把,可以自学

2、下面,我这只阐述生成网页测试报告部分,生成网页测试报告部分我们用的是flask

(1)创建 一个邮件的html模板,发送邮件的

(2)创建 一个测试报告的模板,展示测试报告

ps:前端不好怎么办,笔者有一样的问题。话说之前可能很困难,但是有了大模型不一样了,你可以让大模型生成一段你想要的前端代码,同时笔者认为,如果有时间还是要学学,因为毕竟大模型生成的不是完全符合,你还是要动手做一些修改的,你可以不熟,但是不可以不懂。

下面是flask的代码

# -*- coding: utf-8 -*-

from flask import Flask, render_template

app = Flask(__name__)

test_report_template_path = "reportTemp.html"
test_report_path = "./static/report.html"
test_report = "reportTemp.html"
mail_report_template_path = "emailTemp.html"
mail_report_path = "./static/email.html"
mail_report = "email.html"
test_report_link ="http://62.234.33.72:5000/"


def print_hello():
    print("hello")
    return "Hello World"


def build_report():
    key_words = print_hello()
    data = {"output": key_words}
    new_report_html = render_template(test_report_template_path,**data)
    with open(test_report_path, 'w', encoding="utf-8") as file:
        file.write(new_report_html)

def build_email_report():
    data = {"test_report_link": test_report_link}
    new_email_html = render_template(mail_report_template_path,**data)
    print (new_email_html)
    with open(mail_report_path, 'w', encoding="utf-8") as file:
        file.write(new_email_html)

@app.route('/')
def home():
    build_report()
    build_email_report()
    return render_template(test_report)


if __name__ == '__main__':
    app.run(host="0.0.0.0") #注意这个地方一定要配成0.0.0.0,否则外网访问不到d三

三、jenkins+git 实现定时构建并发送邮件

1、在jenkins上配置git,我们的代码要上传到git上,然后从git下载,具体git的配置方式,网上一大把,不再赘述

2、把当前的jenkins任务弄成定时任务,让他每隔15分钟构建一次

在这个地方配置,方法可参考笔者如下链接

https://blog.csdn.net/weixin_43258703/article/details/134417958

3、创建jenkins构建的步骤,这里面最重要的是jeknins构建结束后,fllask生成的http服务也就随着消失,所以构建参考如下

 

pgrep -f demo.py && pkill -f demo.py
sleep 3s
# 上面的代码保证如果有之前运行的flask服务,先杀掉,否则会提示代码被占用

cd ${WORKSPACE}/py-demo
BUILD_ID=dontKillMe    #告诉jenkns不要杀掉我启的服务
nohup python3 demo.py &   #为了保证构建不被卡死,有头有尾,要让python在后台运行
sleep 5s

4、用jenkins发送邮件

(1)创建一个jenkins的构建后步骤

(2)触发,我们写成上面只要构建,我们就发邮件

(3)我这里直接发送我渲染好的email的html文件

以上就是jenkins完成一个巡检构建全过程,笔者只写了重点步骤,因为以上的配置方式,网上都有可操作的教程,可以根据步骤进行相应的搜索配置

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值