了了

了了 查看完整档案

杭州编辑  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

了了 回答了问题 · 2019-07-31

mysql等 docker 安装和直接安装, 哪个更节省空间?

安装一个宝塔面板吧,其他都可以帮你自动安装
https://www.bt.cn/btcode.html...

关注 4 回答 3

了了 回答了问题 · 2019-07-11

curl命令的问题

前面要加https

curl https://www.bilibili.com

关注 3 回答 2

了了 发布了文章 · 2019-06-11

Jenkins自动部署NodeJs

Jenkins配置

1、打开系统设置中的全局工具配置,选择新增NodeJs,选择自己对应的版本后保存即可,我这里别名直接用版本号代替了。

2、打开系统设置中的配置,选择增加SSH-Server,我选择直接用用户名登录的,

勾选Use password authentication, or use a different key,填写对应账号的密码即可

构建任务

1、新建任务,选择构建自由风格的项目

2、源码管理中填写git地址并选择自己对应的分支

3、构建环境中勾选Provide Node & npm bin/ folder to PATH,选择自己对应的NodeJs

4、构建,选择执行shell

选择通过命令行发送文件

Source files:需要发送的文件,该路径是本项目在Jenkins工作空间(workspace)下的相对路径

Remove prefix:移除前缀,意思是去除路径中的文件夹,只留下文件

Remote directory:目标文件夹,该路径是目标Tomcat所在服务器的root文件夹下的相对路径

5、保存,构建看看结果,成功的话结果如下:

报错

一开始总是下面这样报错

sh: /var/lib/jenkins/workspace/web_erp/node_modules/.bin/cross-env: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! sdhadmin@1.0.0 build:qa: `cross-env NODE_ENV=qa env_config=qa node build/build.js`
npm ERR! Exit status 126
npm ERR! 
npm ERR! Failed at the sdhadmin@1.0.0 build:qa script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/lib/jenkins/.npm/_logs/2019-06-04T02_24_47_411Z-debug.log
Build step 'Execute shell' marked build as failure

网上找了一圈资料没找到什么信息,试着把node_modules文件夹删掉再重新构建后就ok了。

查看原文

赞 1 收藏 0 评论 0

了了 回答了问题 · 2019-04-08

前台和后台管理的公共接口问题,求助大佬

普通情况下完全可以合用一个接口,可以考虑对id进行加密(使得用户无法直接得知他人的id),或者多加个参数进行双重校验(用户和后台对应不同值)。

关注 3 回答 2

了了 发布了文章 · 2019-04-08

JMeter参数化(一):CSV数据的使用

JMeter的参数化内容不少,我们分几次来讲解,今天先讲最基础的使用CSV数据。

​ 在测试过程中我们需要批量的随机性数据,比如测试登录需要用到大量的用户名及对应的密码,我们可将需要的数据写在csv文件中,并在JMeter中读取此文件中的数据。

​ 0.准备工作

​ 新建csv文件,并用notepad++等专业代码编辑工具打开编辑(保证文件编码格式为utf-8),按照JMeter读取csv文件的逻辑,每次读取一行参数,一行代表一组参数。

我准备的数据部分如下,其中逗号需要注意是英文符号,其中也故意参杂了一些错误的用户名和密码:

  1. 添加CSV数据文件设置

在需要用到参数的接口上右键点击添加,选择CSV数据文件设置。

配置内容如下:

变量名称:待会调用时用到的名称

忽略首行:是否忽略csv文件中的首行内容

分隔符:一般使用英文逗号

  1. 使用变量

在需要使用的接口中,将参数值改为变量

​ 3.设置线程数及循环次数

查看原文

赞 2 收藏 0 评论 0

了了 发布了文章 · 2019-03-27

Jenkins+git+maven自动构建并部署到远程tomcat上

linux环境配置

1 安装Java

yum install java-1.8.0-openjdk.x86_64

2 安装maven

yum install maven

3 安装git

yum install git

4 安装tomcat

下载最新的tomcat包,放到/root目录下,运行tar zxvf tomcat-*.tgz

5 安装运行Jenkins

点击这里下载Jenkins最新的war包,并放到/root/apache-tomcat-7.0.86/webapps/目录下。
6 运行命令 cd apache-tomcat-7.0.86/webapps/ 进入war包所在目录,运行命令nohup java -jar jenkins.war --httpPort=8080 & 启动Jenkins。8080为默认端口,如果和其他服务冲突可改变为其他端口

7 浏览器访问 服务器地址:端口号(例如192.168.0.100:8080)即可访问Jenkins

Jenkins配置

1 安装必需的插件

Deploy to container Plugin; GitLab Plugin;Maven Integration

2 配置jenkins工具环境

  • 配置jdk

  • 配置Git

  • 配置Maven

3 新建任务,选择构建maven项目

4 source Code Management选择Git

需要先点击add添加一个账号,打开这个页面填写你在gitlab的账号密码即可

选择刚添加的账号,下面的分支记得改成自己需要的

5 勾选一下构建快照

6 Build这个pom文件不用修改,下面的语句可添加也可不添加

7 配置到这一步已经可以自动打包了,我们构建看一下
第一次运行会下载很多jar包,等待下载完成即可,打包成功后如下图所示

下面部分开始部署到tomcat上

tomcat准备

1 远程连接tomcat需要先配置tomcat账号
配置tomcat目录下的/conf/tomcat_user.xml ,把下面这段代码放进去

<tomcat-users>
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-status"/> 
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/> 
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
</tomcat-users>

2 默认的tomcat使用的端口号是8085,如果你需要部署多个tomcat的话要分别对应不同的端口号,可以在/conf/server.xml中查看,例如我使用的其中一个tomcat的端口号为8082

3 Jenkins运行任务前需要把tomcat先运行起来,否则会连接失败

进入/root/apache-tomcat-7.0.86-1/bin/目录下(或者你目标tomcat的bin目录下),
运行./startup.sh启动tomcat,
使用tail -f /root/apache-tomcat-7.0.86-1/logs/catalina.out查看运行日志,
使用ps -ef|grep tomcat查看tomcat是否启动成功

安装插件

1 在Jenkins的插件管理中搜索安装 Deploy to container Plugin

配置任务

1、新建任务,选择构建Maven项目
2、构建后操作选择Deploy war/ear to a container

WAR/EAR files选择你需要部署的war包在工作空间下的**相对路径**
Context path意为发布到目标tomcat的webapp后的文件夹名字,我这里选择和war包同名
Credentials 需要先添加一个用户,点击添加,用户名和密码分别填入tomcat(或者是你自己tomcat_user.xml中的配置)
Tomcat URL 自然就是你需要连接的tomcat地址和端口号了



3 保存任务,运行看一下,成果的话如下图所示

报错总结

1

[ERROR] Failed to execute goal on project *: Could not resolve dependencies for project * :jar:1.0-SNAPSHOT: The following artifacts could not be resolved: com.alibaba:dubbo:jar:2.8.4, com.cloopen:sms-rest-sdk:jar:2.6.3, com.taobao.pamirs.schedule:tbschedule:jar:3.3.3.2: Could not find artifact com.alibaba:dubbo:jar:2.8.4 in central (http://jcenter.bintray.com)` Failed to collect dependencies for [Pingplusplus:pingpp-java:jar:2.2.1 (compile), org.springframework:spring-core:jar:5.0.5.RELEASE (compile), org.springframework:spring-web:jar:5.0.5.RELEASE (compile), org.springframework:spring-oxm:jar:5.0.5.RELEASE (compile), org.springframework:spring-tx:jar:5.0.5.RELEASE (compile), org.springframework:spring-jdbc:jar:5.0.5.RELEASE (compile), org.springframework:spring-context:jar:5.0.5.RELEASE (compile), org.springframework:spring-context-support:jar:5.0.5.RELEASE (compile), org.springframework:spring-aop:jar:5.0.5.RELEASE (compile), org.springframework:spring-test:jar:5.0.5.RELEASE (compile), javax.validation:validation-api:jar:2.0.1.Final (compile), org.slf4j:slf4j-api:jar:1.7.18 (compile), org.slf4j:log4j-over-slf4j:jar:1.7.18 (compile), ch.qos.logback:logback-classic:jar:1.0.13 (compile), com.github.pagehelper:pagehelper:jar:5.1.4 (compile), org.aspectj:aspectjrt:jar:1.9.1 (compile), org.aspectj:aspectjweaver:jar:1.9.1 (compile), org.javassist:javassist:jar:3.18.1-GA (compile), org.jboss.netty:netty:jar:3.2.5.Final (compile), com.alibaba:dubbo:jar:2.8.4 (compile), org.apache.zookeeper:zookeeper:jar:3.4.6 (compile), com.101tec:zkclient:jar:0.10 (compile), junit:junit:jar:4.12 (test), org.apache.commons:commons-lang3:jar:3.7 (compile), commons-lang:commons-lang:jar:2.6 (compile), org.apache.commons:commons-text:jar:1.4 (compile), commons-beanutils:commons-beanutils:jar:1.9.3 (compile), redis.clients:jedis:jar:2.9.0 (compile), org.springframework.data:spring-data-redis:jar:1.7.2.RELEASE (compile), com.fasterxml.jackson.core:jackson-core:jar:2.9.5 (compile), com.fasterxml.jackson.core:jackson-databind:jar:2.9.5 (compile), com.fasterxml.jackson.core:jackson-annotations:jar:2.9.5 (compile), com.alibaba:fastjson:jar:1.2.47 (compile), com.cloopen:sms-rest-sdk:jar:2.6.3 (compile), com.aliyun:aliyun-java-sdk-core:jar:4.0.6 (compile), com.aliyun:aliyun-java-sdk-dysmsapi:jar:1.1.0 (compile), com.google.code.gson:gson:jar:2.8.2 (compile), com.taobao.pamirs.schedule:tbschedule:jar:3.3.3.2 (compile), org.apache.solr:solr-solrj:jar:4.7.2 (compile), org.apache.httpcomponents:httpcore:jar:4.4.4 (compile), commons-httpclient:commons-httpclient:jar:3.1 (compile), net.sf.json-lib:json-lib:jar:jdk15:2.4 (compile)]: Failed to read artifact descriptor for com.alibaba:dubbo:jar:2.8.4: Could not find artifact com.alibaba:dubbo-parent:pom:2.8.4 in nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public) -> [Help 1]
缺少对应的jar包,可以直接从原环境下复制过来

2

org.codehaus.cargo.container.ContainerException: Failed to redeploy [/root/.jenkins/workspace/git_1/*/target/*.war]
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:192)
        at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
        at hudson.FilePath.act(FilePath.java:1074)
        at hudson.FilePath.act(FilePath.java:1057)
        at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
        at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
        at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
        at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
        at hudson.model.Run.execute(Run.java:1841)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
Caused by: java.io.FileNotFoundException: http://192.168.2.7:8082/manager/text/list
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1890)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
        ... 17 more
java.io.FileNotFoundException: http://192.168.2.7:8082/manager/text/list
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1890)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
        at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
        at hudson.FilePath.act(FilePath.java:1074)
        at hudson.FilePath.act(FilePath.java:1057)
        at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
        at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
        at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
        at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
        at hudson.model.Run.execute(Run.java:1841)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
  • 原因: 缺少manager文件夹
  • 解决方案:可以从原来项目的/root/apache-tomcat-7.0.86-1/webapps/目录下拷贝过来

3

org.codehaus.cargo.container.ContainerException: Failed to redeploy [/root/.jenkins/workspace/git_1/*/target/*.war]
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:192)
        at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
        at hudson.FilePath.act(FilePath.java:1074)
        at hudson.FilePath.act(FilePath.java:1057)
        at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
        at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
        at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
        at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
        at hudson.model.Run.execute(Run.java:1841)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
        at sun.net.www.http.HttpClient.New(HttpClient.java:339)
        at sun.net.www.http.HttpClient.New(HttpClient.java:357)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:561)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
        ... 17 more
java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
        at sun.net.www.http.HttpClient.New(HttpClient.java:339)
        at sun.net.www.http.HttpClient.New(HttpClient.java:357)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:561)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
        at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
        at hudson.FilePath.act(FilePath.java:1074)
        at hudson.FilePath.act(FilePath.java:1057)
        at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
        at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
        at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
        at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
        at hudson.model.Run.execute(Run.java:1841)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
Build step 'Deploy war/ear to a container' marked build as failure
Finished: FAILURE
  • 原因: 缺少manager文件夹
  • 解决方案:可以从原来项目的/root/apache-tomcat-7.0.86-1/webapps/目录下拷贝过来
查看原文

赞 2 收藏 0 评论 0

了了 回答了问题 · 2019-03-27

三方接口服务器地址可以在浏览器访问,在代码中不通 是什么原因

路径写错了?下面多了个/api

关注 1 回答 1

了了 发布了文章 · 2019-03-26

Linux安装Jenkins+JMeter+ANT自动化测试平台

前排提示

下面几个工具运行都需要基于jdk,请大家自行百度安装jdk,并配置好环境变量

安装jmeter

下载包,解压,配置JMeter_home

  1. 点击这里下载最新的jmeter的tar包,直接放到服务器的/root目录中
    输入命令tar zxvf apache-jmeter-5.1.1.tgz解压

2.配置JMeter_HOME
打开/root下的.bash_profile文件,下面的代码写入文件最后
export JMETER_HOME=/root/apache-jmeter-5.1.1 export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
保存后运行 source /root/.bash_profile (让配置文件立马生效)
运行 jmeter -v,成功后如下图所示

3.jmeter自带的报告模板内容不够详细,我这提供一个网上的更加详细的模板,点此下载,放到/root/apache-jmeter-5.1.1/extras/目录下
4.点击这里下载jmeter的插件jar包,放到/root/apache-jmeter-5.1.1/lib/ext/目录下

安装ANT

1.点击这里下载最新的ANT tar包,同一解压到/root目录下

2.编辑/etc/profile,把下面的代码添加到文件末尾
ANT_HOME=/root/apache-ant-1.10.5
CLASS_PATH=.:$JRE_HOME/lib
PATH=$JRE_HOME/bin:$ANT_HOME/bin
export ANT_HOME CLASS_PATH PATH
3.保存后运行 source /etc/profile,使配置立即生效
4.运行ant -version看一下配置成功没有,成功的话如下图所示

安装运行Jenkins

0 Jenkins需要放在tomcat中运行,tomcat下载后解压到/root目录下几个,参考上面jmeter安装步骤第1步即可

1 点击这里下载Jenkins最新的war包,并放到/root/apache-tomcat-7.0.86/webapps/目录下。

2 运行命令 cd apache-tomcat-7.0.86/webapps/ 进入war包所在目录,
运行命令nohup java -jar jenkins.war --httpPort=8080 & 启动Jenkins。8080为默认端口,如果和其他服务冲突可改变为其他端口

3.浏览器访问 服务器地址:端口号(例如192.168.0.100:8080)即可访问Jenkins
4.Jenkins中创建任务和在win环境下没有什么区别,只是需要改变路径

路径配置

1 在全局工具配置中添加ant

2 build.xml中的报告生成路径

下面三个步骤是针对 HTML report和performance 和E-mail插件的
3 把任务中的html报告路径和build.xml中的路径匹配起来

4 把任务中的jtl路径修改为build.xml中的路径(这里的时间变量是我自定义的,具体原因可看这篇文章

5 配置邮件提醒的附件路径

查看原文

赞 2 收藏 1 评论 0

了了 回答了问题 · 2019-03-25

php 小白 fiddler具体是有什么作用 想请教一下

网络传输的包就相当于在马路上开着的车子,fiddler就相当于交警,他能知道所有在他面前过去的车子是什么车(是什么类型的包),从哪来到哪去(源地址和目的地址),坐了什么人,装了什么货(包的内容是什么),还能往车上装点自己想装的货物(设置断点,修改包的内容)

关注 7 回答 6

了了 发布了文章 · 2019-03-25

Jenkins performance插件生成性能测试报告

昨天把Jenkins部署好了,但是用了之后发现performance插件有问题,如果按下面这样设置统计所有的jtl文件,会导致文件夹过于臃肿,于是,而且生成的Performance Trend 比较混乱,不是很直观,于是思考修改一下

试验了一下发现如果多次构建后生成在同一个jtl文件里,解析出的Performance Trend是正确的,但是我原本的设置中,jtl文件名是精确到分钟的,需要修改成精确到天的,这样正好一天的结果能看的很直观。
修改不是很难,总共修改3个地方即可
1.build.xml文件中的时间戳精度
原来是这样的,,jtl和html用的是同一个时间变量,咱们需要把这两个分开来

修改后如下,也就是多建立一个精确到天的时间变量

2.在Jenkins系统设置中建立一个精确到天的时间变量,TimeStamp插件提供了新建时间变量的功能,咱们只要把时差设置为0即可,注意,负号和0之间有空格

3.修改任务中performance插件的jtl路径,使用新的时间变量

设置好了,运行看一下

查看原文

赞 1 收藏 0 评论 0

认证与成就

  • 获得 11 次点赞
  • 获得 1 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 1 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2019-03-14
个人主页被 389 人浏览