栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【保姆级教程】Jekins、Jmeter进Spring Cloud项目的单元测试和压力测试(均测试通过)——————附带超详细步骤

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【保姆级教程】Jekins、Jmeter进Spring Cloud项目的单元测试和压力测试(均测试通过)——————附带超详细步骤

文章目录
  • 0 背景
  • 1 单元测试
    • 1.1 创建jekins项目
    • 1.2 配置文件配置
      • 12.0 配置对应的gitlab
      • 1.2.1 git配置
      • 1.2.2 构建触发器配置
      • 1.2.3 构建配置
      • 1.2.4 构建后操作
    • 1.3 构建
  • 2 压力测试
    • 2.1 安装Aphache Jmeter
    • 2.2 配置jemter文件并进行本地测试
    • 2.3 配置jekins
  • 3 排错
  • 附录

0 背景

持续集成是 DevOps 最重要的部分,用于集成各个 DevOps 阶段。Jenkins 是最著名的持续集成工具。

Jenkins 是一个用 Java 编写的开源自动化工具,带有用于持续集成的插件。Jenkins 用于持续构建和测试您的软件项目,从而使开发人员更容易将更改集成到项目中,并使用户更容易获得新的构建。它还允许您通过与大量测试和部署技术集成来持续交付软件。

借助 Jenkins,组织可以通过自动化来加速软件开发过程。Jenkins 集成了各种开发生命周期过程,包括构建、文档、测试、打包、模拟、部署、静态分析等等。

Jenkins 借助插件实现了持续集成。插件允许集成各种 DevOps 阶段。如果要集成特定工具,则需要安装该工具的插件。例如 Git、Maven 2 项目、Amazon EC2、HTML 发布者等。

1 单元测试 1.1 创建jekins项目
  • 1, 先编写一个简单的spring boot项目,上传到gitlab/github上;

  • 2,在jenkins的主页,点击新建任务,选择构建一个自由风格的项目;

1.2 配置文件配置 12.0 配置对应的gitlab

下面这个Gitlab Connection的网址为安装插件时,就配置好了。

  • 1,配置以上的Gitlab Connection,首先为Jekins安装gitlab的插件;


  • 2,登录上gitlab,点击“Access Tokens”,输入“Name”和“Expries at”,勾选“api”,点击“Create personal access token”,生成access token,记录下来;


  • 3,在系统管理的系统配置中,配置如下的gitlab,添加对应的token;

在配置文件中依次配置下面的信息:

1.2.1 git配置
  • 3 ,在源码管理中添加git配置,输入git项目的URL复制到Repository URL中,

  • 4,点击Credentials中的添加按钮,根据自己的需求添加自己的凭证,这里选择Username with password,然后输入自己的用户名和密码,选择添加,最后在Credentials中的下拉框中选择自己的凭证;



1.2.2 构建触发器配置
  • 5,在构建触发器中,选择如下的配置,同时在gitlab上的设置的集成(Integrations)中添加webhook(URL填写构建触发器中提示的那个);


1.2.3 构建配置
  • 5,在构建中,选择调用顶层maven配置,maven版本选择服务器上安装了的版本,目标填写自己项目src下的需要测试的文件夹名;


1.2.4 构建后操作
  • 6,在构建后操作中选择Public HTML reports,点击新增;

  • 7,在IDEA的终端中,运行mvn test,然后文件夹中会出现编译后的路径,复制jacoco(插件,用于单元测试的)的路径到HTML directory to archive中;



  • 8,在增加构建后的步骤中,选择Record JaCoCo coverage report,最后点击应用,新建后会产生一个如下图的标志,


1.3 构建
  • 9, 修改代码(如果不确定远程可以构建,可以现在本地运行mvn test【test可以替换为自己构建的项目】),在上传完代码到git托管平台后,点击立即构建按钮(如果项目没有改变,则构建会失败);



  • 10,点进#6,就可以看到如下的界面,点击Coverage Report,就可以看到覆盖率报告。

2 压力测试 2.1 安装Aphache Jmeter

官方下载网址,下载后解压安装即可,由于本机是mac,直接下载编译好的文件,然后解压,打开文件就可以。


打开文件方法如下:

cd /Applications/apache-jmeter-5.4.3/bin
sudo  sh jmeter


下面的选项,可以配置语言:

2.2 配置jemter文件并进行本地测试
  • 1,新建线程组,配置测试信息;

  • 2,添加http请求,并配置相应的信息(IP、端口、路径、Get/Post类型、请求体【如果有的话,】);


get请求参数:

post请求json:

  • 3,添加聚合报告和结果树;

  • 4,保存配置并运行测试;

  • 5, 结果如下;

  • 6,本地测试没有问题后,把刚刚保存的jml文件移到项目中,路径没有限制(不过最好在压测的项目中单独新建一个文件夹存储);
  • 7,在项目的根目录下,添加build.xml文件用于apache ant使用jmeter;

    根据自己的实际情况更改build.xml配置中的配置信息(完整的文件内容,附在文章末尾);

下面配置中的basedir为jml文件存放的相对路径;


下面配置中的name的信息,用于构建后操作中的HTML directory to archive 、Index page[s]的名称;

    
    
    
    
    
    

2.3 配置jekins

创建自由风格的项目后,进行如下的配置:

  • 1,源码管理,复制git项目的URL地址;
  • 2,构建触发器;
  • 3,构建环境,添加apache ant自动化工具(需要提前安装ant插件);

    ant插件配置(系统管理 - -> 插件管理中进行安装),在系统管理 - -> 系统配置中进行配置:

  • 4,构建中,添加Invoke Ant,进行如下配置(填写相对路径),target中添加三个指令:清除、测试、报告;

  • 5,构建后的操作,添加html报告,然后点击新增,然后进行如下配置;

下面的HTML directory to archive、Index page[s]一定要填写build.xml中编写的配置信息(),不能随意填写。

解释:HTML directory to archive:需要存储的 HTML 所在的目录,这个目录是相对job的workspace的只需要输入相对路径就可以了,如果路径输错,job 可能不会执行。Jenkins 会把你输得这个目录下的文件都存储到build信息中(如果是在从节点上执行的,会把这个目录下的文件全部存储在主节点下;如果是在主节点下执行的,则会从workspace中存储到build文件夹下),页面上显示的html 并不是直接从你输入的路径中读取的。

  • 6 ,点在立即构建后,等待构建完成;


  • 7,如果构建成功后,点击HTML Report,便可以查看报告。

3 排错

如果项目构建失败,可以点击构建的项目,进入控制台输出查看报错。


下面是安装过程中,遇到的一些错误,希望大家可以避坑

  • 1,BUILD FAILED /var/jenkins_home/workspace/jkTest3/SpringCloudTest/build.xml:48: input file /var/jenkins_home/apache-jmeter-5.4.2/work/resultLog/jtl/TestReport.jtl does not exist【解决办法:build.xml中的basedir不对,导致ant没有使用jmeter进行构建】
  • 2,[ERROR] The goal you specified requires a project to execute but there is no POM in this directory 【解决办法:项目的pom.xml的配置不对,注意父子依赖】
附录

build.xml:



    
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
        
        
    
    
    
        
            
        
    
    
        
        
            
            

            
        
    
    
        
        
    
    
         

        
            
            
            
        

        
        
            
                
                
            
        
    
    
    
    
    
    
    
    
    
        
        
            
                本轮构建的结果如下:
                ${report}
            
        
        
    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/835081.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号