Jenkins 自动化测试(构建)搭建 您所在的位置:网站首页 测试平台的搭建标志 Jenkins 自动化测试(构建)搭建

Jenkins 自动化测试(构建)搭建

2024-05-06 22:11| 来源: 网络整理| 查看: 265

Jenkins 自动化测试(构建)平台搭建 自动化测试流程

在进行平台搭建前,我们首先要问自己:我需要搭建的平台的功能是什么,要实现什么目标?

在我的理解中,自动化构建平台的执行流程(目标)是:

我们将代码提交到代码托管工具上,如github、gitlab、gitee等。 Jenkins要能够检测到我们的提交。 Jenkins检测到提交后,要自动拉取代码,运行测试,并进行构建、打包。 Jenkins执行完测试和构建后,要向相关人员发送构建结果。 Jenkins要能够向我们展示测试运行的分析。

其实还可以加上自动化部署——把成功的构建添加到web 容器。

自动化测试搭建

有了大致的目标,就可以一步步实现了。

代码仓库搭建

常用的代码托管平台有GitHub、Gitlab、Gitee等。我选择了Gitlab。

Gitlab可以托管在Gitlab的网站上,也可以建立本地的Gitlab仓库。

为了访问更稳定,我选择了在自己的阿里云服务器上搭建gitlab仓库。

步骤:

服务器安装Gitlab。可以通过宝塔安装,也可以自己手动安装。安装后开放相应的端口,就可以访问到Gitlab了。

创建账号,登录,创建一个项目

为了让我们能够向该项目提交代码,需要进行ssh认证。将本地主机的SSH公钥添加到远程项目里。此外,如果远程项目是私有的,那还要添加可访问的用户群组。

Jenkins 安装

下载Jenkins的war包,放在Tomcat的webapps路径下,然后重启Tomcat。

开放相应的端口,然后就可以访问到了。

Jenkins首次启动时,会生成一个管理员账号和密码,一定要记得。

Jenkins 插件安装

下面的配置过程中会使用到很多插件,在这里列出。配置时不再说明。

Git 、GitLab 、Email Extension 、Allure Jenkins Plugin、Maven Integration plugin

可参考博客:[Jenkins插件大全及用途简介]((19条消息) Jenkins插件大全及用途简介_pansaky的博客-CSDN博客_jenkins插件)

Jenkins配置maven 安装maven

在系统管理-->全局工具配置中添加maven,如果服务器上已经安装了maven,那么指定MAVEN_HOME。

如果没有安装,那么可以选择版本,让Jenkins自己安装。

下载maven插件

在系统管理-->插件管理中,搜索、安装 Maven Integration plugin 。

建立一个maven任务

Jenkins 关联代码仓库

在上面建立的maven任务的:配置-->源码管理 中添加代码仓库。

这里,需要进行认证,添加Credentials:

输入用户名、密码即可。然后选择刚才添加的Credential。

这样,我们就将Jenkins关联到了代码仓库上。Jenkins就能够从该代码仓库上面拉取代码了。

Gitlab 提交触发 Jenkins 自动构建

配置Jenkins触发器

在配置-->构建触发器 中,选中 Build when a change is pushed to GitLab. GitLab webhook URL:***

该URL在配置Gitlab钩子时要用到。

继续,在构建触发器-->高级 中,点击generate,生成一个secret token。

该token也在配置web hook 时要使用。

配置完成后,点击应用、保存。

配置Gitlab web hook

什么是web hook?他就像一个鱼钩一样,当有🐟到了,就拉一下。

我们可以配置一个URL,当Gitlab检测到事件时(如:有新的提交时),就会向配置的URL发送消息。

钓鱼佬,别睡了,有鱼上钩了!

链接中输入Jenkins触发器那里的链接,私密授权码输入secret token。

配置完钩子后,测试一下。返回HTTP 200,就算成功了。

配置Build

上面的配置完成了提交代码的自动下拉,但是怎么构建呢,还需要配置Build:

由于使用的maven来进行构建,所以root pom要使用maven项目的pom文件。

下面的Goals and options是构建时还要执行的指令,我们希望每一次构建都运行一下测试,因此填入test指令。

这和我们在本地执行maven test指令差不多。

测试一下

我们现在就完成了gitlab提交后的自动构建,来测试一下:

向gitlab仓库提交一个测试代码,如果成功,应该能够看到构建被触发了:(我使用的是执行过的例子)

然后可以看到构建的控制台输出:

这就代表我们的自动构建功能实现了。

生成测试报告

我使用了Allure来生成测试报告。

安装Allure Commandline

我们使用了Allure的项目测试后,会生成一个allure results文件,该文件里面记录了测试信息。

Allure Commandline 的功能,就是解析这些信息,然后生成一个可视化的网页界面。

和maven安装类似,可以指定本地的,也可以让Jenkins自己安装。

配置构建后操作

Jenkins 使用maven构建后,要实现测试结果可视化,还要配置Allure来收集测试信息。

添加一个Allure Report的构建后操作即可,Path中填写的是Allure生成的可视化页面的位置。

测试

添加了Allure后,执行测试就可以看到可视化的测试报告了。

注意,要使的Allure生效,我们的maven项目中,要添加Allure的插件。这样才能在测试时收集测试信息。

下面是一个可运行的pom:

UTF-8 1.8 1.8 5.7.1 1.8.10 javax.servlet javax.servlet-api 4.0.1 provided org.junit.jupiter junit-jupiter-api ${junit.version} test io.qameta.allure allure-junit5 RELEASE test org.junit.jupiter junit-jupiter-engine ${junit.version} test org.apache.maven.plugins maven-war-plugin 3.3.1 maven-surefire-plugin 2.22.1 false -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" junit.jupiter.extensions.autodetection.enabled true org.junit.platform junit-platform-surefire-provider 1.2.0 org.aspectj aspectjweaver ${aspectj.version} io.qameta.allure allure-maven 2.10.0 2.4.1

push 该使用了Allure的项目,构建后会生成Allure Report文件:

点击查看Allure Report文件:

邮件通知

最后一步啦!配置邮件通知,在构建后向相关人员发送邮件,报告构建情况。

安装邮件插件

由于Jenkins自带的邮件功能比较鸡肋,因此这里推荐安装专门的邮件插件,不过下面也会顺带介绍如何配置Jenkins自带的邮件功能作用。

可以通过 系统管理→管理插件→可选插件,选择Email Extension Plugin插件进行安装:

img

进行邮件配置

这里既可以在 系统管理-->系统设置下配置,也可以在工作下进行配置。只是说在系统设置下配置的是全局的。

设置jenkins地址和管理员邮箱地址

img

设置发件人等信息

PS:这里的发件人邮箱地址切记要和系统管理员邮件地址保持一致(当然,也可以设置专门的发件人邮箱,不过不影响使用,根据具体情况设置即可)

img

上图的默认收件人邮箱可以添加多人,中间用英文半角逗号隔开即可。

配置邮件内容模版

img

${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志 本邮件由系统自动发出,无需回复! 各位同事,大家好,以下为${PROJECT_NAME }项目构建信息 构建结果 - ${BUILD_STATUS} 构建信息 项目名称 : ${PROJECT_NAME} 构建编号 : 第${BUILD_NUMBER}次构建 触发原因: ${CAUSE} 构建状态: ${BUILD_STATUS} 构建日志: ${BUILD_URL}console 构建 Url : ${BUILD_URL} 工作目录 : ${PROJECT_URL}ws 项目 Url : ${PROJECT_URL} 系统allure测试报告:${PROJECT_URL}${BUILD_NUMBER}/allure 失败用例 $FAILED_TESTS 最近提交(#$GIT_REVISION) ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="%d [%a] %m"} 详细提交: ${PROJECT_URL}changes

设置邮件触发机制

img

上面的几步完成后,点击应用,保存即可。

配置Jenkins自带的邮件功能

配置内容如下,和Email Extension Plugin插件同样的配置,可以通过勾选通过发送测试邮件测试配置按钮来测试配置是否成功发送邮件,如下图:

img

完成上面的系统设置后,点击保存即可。

配置构建后操作模块

进入构建后操作的模块,然后会看到下面的内容,具体的配置信息如图中标注:

img

接上图:

img

配置内容默认即可,邮件内容类型可以根据自己的配置选择,收件人列表可以从前面的系统设置中默认收件人选项配置。

测试

构建后,应该收到邮件:

对 Jenkins 的理解

没时间写了。。以后有时间补上(那就是没有了呗)。

参考引用

邮件部分:老_张

搭建平台的过程还参考了很多博主的博客,没有一一记录,感谢博主们的博文。

这篇博客更像是资源整合,但是还有很多没有提及的地方,欢迎补充!

可以转载,但是请引用一下!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有