1、gitlab自动触发jenkins构建

1⃣️安装插件:

2⃣️新建工程,设置git url,build when a change is pushed

auto.sh

/bin/sh echo "123456"

3⃣️gitlab -》 个人头像 -〉settings -》Access Tokens 创建tokens:yxzwM2AxVxZFdr9uydx4

4⃣️配置jenkins服务器 (unuseful) 系统管理-》系统设置-> gitlab相关部分

点击Add,添加上一步生成的token

5⃣️配置gitlab工程
选择已有工程或者新建一个工程,settings-》integrations,URL、Token为第二步红色框里的值

创建webhook后,点击test下push event 测试一番,可手动产生事件,触发jenkins工程

然后点击Edit,页面底部查看该webhook最近调用情况;点击view details查看详细调用情况

在jenkins相应工程中出现构建历史

当auto.sh有修改、提交后(只要第5⃣️步配置的工程有提交),该工程便会自动构建

2、查看性能测试曲线图

构建【将测试结果文件生成测试报告】:执行jmeter -g result.jtl -o reports/

构建后操作 【publish performance test result report】-依赖插件performance plugin

【立即构建】

添加性能曲线图时各选项的作用;
jmeter -n -t login.jmx -l result.jtl -e -o report  ==??==> jmeter -n -t login.jmx -l result.jtl;jmeter -g result.jtl -o report  

3、jenkins 参数化构建

参数化构建:依赖插件(Extended Choice Parameter)

配置页面-参数化构建过程-增加Extended choice parameter

保存后出现build with parameters

启动远程服务器命令(remote_startup.sh 传git)

jmete分布式压测指定多个远程机器cd/
Tips:远程启动jmeter -R,需要进入jmeter bin路径  当前路径需存在rmi_keystore.jks

了解参数化构建各选项的作用
对每个扩展参数展示描述文本-done
脚本待完善
1⃣启动命令前检查是否已启动;若已启动需要杀掉多个进程,xargs无效 - done
2⃣传多个参数时,需要循环远程连接 - done
remote_startup.sh
#!/bin/sh   IFS=',' remote_host_arr=($1)   for host in ${remote_host_arr[@]} do pid=$(sshpass -p password ssh -Tq -p 9800 ceshi@$host  "ps -ef | grep jmeter-server | grep -v grep | awk  '{print $2}'"| awk '{print $2}'|xargs) sshpass -p password ssh -Tq -p 9800 ceshi@$host << remotessh sudo -s cd /usr/local/Jmeter/apache-jmeter-5.0/bin/ echo $pid echo ${#pid} if [ -n "$pid" ]; then kill -9 $pid fi export JAVA_HOME="/usr/local/soft/jdk8" nohup sh jmeter-server > nohup.out 2>&1 & exit remotessh done

4、Jenkins Run Performance test

1⃣新建任务后,在【构建步骤】部分包含【Run Performance test】 
    依赖插件Performance Plugin 并且jenkins服务器需要python2.7+,
    和bzt (pip install bzt) 或者 virtualenv(pip install virtualenv)

说明:jenkins的性能插件主要使用Taurus工具执行压测 http://jenkinsci.github.io/performance-plugin/RunTests.html 
本机可以不安装jmeter,Taurus会尝试将最新的jmeter和相关插件安装到〜/ .bzt / jmeter-taurus / bin / jmeter
Taurus为许多开源测试工具提供不同的执行程序,如JMeter,Selenium,Gatling,Grinder等。默认执行程序是JMeter,因此如果您已经使用JMeter创建了一个JMX文件,那么使用Taurus运行它是非常容易的!只需使用bzt命令后跟JMX路径。
2⃣ 新建任务 - Run performance test
 

3⃣立即构建 
    第一次构建运行时间会比较长,因为要下载jmeter安装包
    (已安装bzt的情况-会自动在~/.bzt/路径下安装最新版jmeter)

(没有安装bzt,安装有virtualenv的情况-会先在虚拟环境安装bzt)

构建成功后,可查看测试报告<每次构建结果曲线图>,类似

1、压测服pressure1安装bzt失败,待解决 【本机可安装成功】;或者需要安装virtualenv ,在jenkins中安装bzt。
    (如果pip install bzt失败,则即使安装了virtualenv,安装bzt仍然会失败)
2、jmeter非自带的插件是否会自动安装 --- 会;是否可以进行分布式压测
3、bzt语法、参数、yaml脚本等等

5、jenkins集成多个git仓库

安装插件-Multiple SCMs

配置多个git地址

当配置多个仓库时,直接构建任务会出现第一个配置获取的代码被第二个配置的覆盖,最后只能保留下来最后一次拉取的代码
这样不是我们想要的效果,由于拉取代码会直接将代码放入任务工程目录,也就是以你创建任务的名字目录,
所以下一个任务会对上一个覆盖,这个时候我们可以将每个仓库-或其中一个仓库拉取的代码放入独立的目录中

执行shell的时候指定正确的路径

参考资料

其它

1,ssh-copy-id "-p 9800 ceshi@host"   可将本机公钥放入远程机器,使用ssh无密远程登录
2,gitlab自动触发jenkins创建,若脚本是带参数的,自动构建时使用默认参数
3,ssh远程登录时增加-o StrictHostKeyChecking=no用来解决连接新主机时,不进行公钥确认
 

jenkins集成jmeter-进阶篇的更多相关文章

  1. Jmeter进阶篇之监控服务器cpu,内存

    对于Jmeter,可以不再赘述,因为介绍得也够多了. 那么相信有部分同学已经尝试着自主去学习如果使用Jmeter对服务器进行压力测试了. 但是可能也会发现,Jmeter好像监控不了服务器的cpu已经内 ...

  2. Jmeter进阶篇之保存测试结果

    Jmeter现在真的是一款越来越流行的接口测试工具. 但是通过和老大哥LR相比较,可能有部分同学觉得,LR的图表功能,报告功能不要太强大. 但是小弟jmeter在这方面其实并不差... 今天我们就来学 ...

  3. Jmeter进阶篇之逻辑控制器

    最近,遇到了一个困扰很多人的问题.情景如下: 业务流程:登录一个网站,反复进行充值. 通常的做法是使用jmeter对登录和充值的接口进行反复的执行: 但是实现的方法却不能完美的贴合业务流程.并且,在进 ...

  4. Jmeter测试报告可视化(Excel, html以及jenkins集成)

    做性能测试通常在none GUI的命令行模式下运行Jmeter. 例如: jmeter -n -t /opt/las/JMeter/TestPlan/test.jmx -l /opt/las/JMet ...

  5. JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

    目标: 创建包含性能测试流程的持续交付管道,以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段 ...

  6. jenkins+ant+jmeter实现自动化集成(详解)

    jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...

  7. jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...

  8. Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  9. maven+jmeter+jenkins集成

    马上要国庆了,最近比较忙,但是感觉忙的效率很一般,之前写过ant的集成,这两天研究了下maven,其中核心的插件便是jmeter-maven-plugin,要想了解更多的朋友,可以自行去官网wiki学 ...

随机推荐

  1. koa2--07.cookies的设置和使用

    cookies本身在koa中即可直接设置和使用,不需要在安装中间件 //cookies的使用 const koa = require('koa'); var router = require('koa ...

  2. 配置nutch

    配置nutch (nutch文件夹已在/home目录下) 1. 修改系统环境变量 sudo gedit /etc/profile //增加 #set nutch export PATH=/home/n ...

  3. (转载)MySQL慢查询日志总结

    转自:https://www.cnblogs.com/kerrycode/p/5593204.html 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响 ...

  4. ASP.NET WebForm Identity使用

    环境 win10企业版x64+visual studio 2017+.net 4.5 step1 基本使用+邮件确认+密码重置 https://docs.microsoft.com/en-us/asp ...

  5. linux查看文件内容跳到文件底部和回到文件顶部的快捷键

    有时候需要查看一些日志文件,然后要从底部开始查看的话 可以按 shift+g  即可跳到文件底部 要返回文件顶部的时候 按 gg即可

  6. springboot 动态修改定时任务

    1.静态定时 1)启动类加上注解@EnableScheduling @EnableAsync @EnableScheduling @SpringBootApplication @MapperScan( ...

  7. Docker Swarm Mode 入门实践

    本文来源 翻译并总结官方文档,添加自定义示例,参考自Docker 19.03版本官方文档 未来可能归档为:https://docs.docker.com/v19.03/ 2020.01.03为http ...

  8. 小小知识点(三十七)OFDM和OFDMA的区别以及OFDMA与SC-FDMA的区别

    OFDM和OFDMA的区别 OFDM(orthogonal frequency division multiplexing),which assigns one block (in time ) to ...

  9. 02_jQuery 验证密码是6位或者8位纯数字

    var reg = new RegExp(/^\d{8}$/); //工作密码必须是8位数字 if(!reg.test("12544444").val())) { alert(&q ...

  10. 快速开发架构Spring Boot 从入门到精通 附源码

    导读 篇幅较长,干货十足,阅读需花费点时间.珍惜原创,转载请注明出处,谢谢! Spring Boot基础 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计 ...