七、Jenkins+testng实现线上接口巡检及微信通知

准备工作:

1.已完成testng框架下的接口测试代码的开发 (可以根据本文集下1-5完成设计)
2.配置好Jenkins服务
3.代码已上传git仓库

4.企业微信中,新建群聊并新建群聊机器人,里面的webhook地址配置到jenkins中(后续步骤有配置位置)
群聊机器人.png

TestNg代码端的配置:

1.生成需要执行的testng.xml文件(此文中有对应的生成方式:https://www.jianshu.com/p/f087e9051726
2.新建一个testng-results.xml的文件(jenkins中会用到)
3.pom.xml 文件配置,设置build标签,其中suiteXMLFile为要执行的xml文件,也就第一步生成的testng.xml文件。
   <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/main/java</testSourceDirectory>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                    <forkMode>once</forkMode>
                    <skipTests>false</skipTests>
                    <suiteXmlFiles>
                      <suiteXmlFile>testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
       </plugins>
    </build>

Jenkins端的配置:

1.设置jdk、maven、git:

(1)进入jenkins系统设置页面:http://10.10.0.1:8888/manage,进入全局工具配置。

全局配置.png

(2)jdk点击新增后配置JAVA_HOME的路径(路径为与jenkins服务相同linux服务器对应的jdk配置)
jdk配置.png

(3)配置maven,直接选择自动安装即可:
maven安装.png

(4)配置git,直接选择自动安装即可:
git配置.png

(5)完成后点击应用,并保存。

2.新建配置流水线

(1)新建一个maven任务工程,选择maven项目:


新建流水线.png

(2)配置源码管理,git地址及账号


git配置.png

配置后默认的分支为master,可以根据自己代码的分支进行修改(向下滑动即可找到):
分支.png

(3)配置自动构建任务:


定时构建.png
日程表语法规则:
分 时 天 月 周  
比如每周1到周三,10点-11点每分钟执行一次:  H/1 10-11 * * 1-3

(4)新增一个 maven执行语句 :mvn clean test,并配置build文件


mvn.png

(5)新增构建后配置,配置测试报告输出文件(此文件就是testng配置中准备的testng-results.xml),配置微信通知(准备的通过群内机器人新增的内容,复制webhook)


构建后配置.png

(6)应用并保存配置
3.点击立即构建,可以进入构建位置,刷新之后可以看到对应的testngresults:
results.png

并且企业微信会推送对应的通知:


企业微信通知.png
4.后面就会根据定时任务配置的内容定时执行了。
5.补充:日志过多可以设置自动清理,超过多少天数或者个数自动进行清理

当然也可以手动清理:去到系统管理-脚本命令行:

def jobName = "test"   //删除的项目名称
def maxNumber = 100    // 保留的最小编号,意味着小于该编号的构建都将被删除
Jenkins.instance.getItemByFullName(jobName).builds.findAll {
  it.number <= maxNumber
}.each {
  it.delete()
}

整体实现jenkins自动化执行并微信报警就实现了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容