---
title: Jenkins流水线Java性能测试示例代码
description: "示例代码如下："
url: https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/pipeline/NativeDevelopment_0121.html
sourcePath: /source/zh/nativedevp/userguide/pipeline/NativeDevelopment_0121.html
indexId: b33670ea1ff680a97b8e1db7ed9b196ab3189b474a5a4b257af5c916b3cd5c9c68
---
# Jenkins流水线Java性能测试示例代码

示例代码如下：

```
pipeline {
agent any
options {
timeout(time: 1, unit: 'HOURS')
}
parameters {
string(name: 'GIT_URL', defaultValue: 'https://gitee.com/devkit-pipeline/java_demo.git', description: '--> git url <--')
string(name: 'GIT_BRANCH', defaultValue: 'master', description: '--> code branch <--')
string(name: 'GIT_TARGET_DIR_NAME', defaultValue: 'java_demo', description: '--> code branch <--')
}
stages{
stage('Git   Code') {
agent {
label 'kunpeng_java_builder'
}
steps {
echo '====== 获取源码 ======'
checkout scmGit(branches: [[name: "${params.GIT_BRANCH}"]],
browser: github("${params.GIT_URL}"),
extensions: [[$class: 'RelativeTargetDirectory',
relativeTargetDir: "${params.GIT_TARGET_DIR_NAME}"],
cleanBeforeCheckout(deleteUntrackedNestedRepositories: true)],
userRemoteConfigs: [[url: "${params.GIT_URL}"]])
}
}
stage('java-performance-analysis') {
agent {
label 'kunpeng_java_builder'
}
steps {
echo '====== java-performance-analysis ======'
sh '''
if [ ! -d "./report_dir" ]; then mkdir -p ./report_dir; fi
/usr/bin/rm -rf ./report_dir/*.html
# 设置当返回不为0时 停止下一步，直接返回
set -e
CURDIR=$(pwd)
# 删除上次JMeter产生的报告 (JMeter 命令-l、-o指定的文件和路径)
rm -rf
/home/tester/report
/home/tester/result.html
# 运行java性能采集
/root/.local/devkit_tester/bin/entrance
-i 160.0.1.2,160.0.1.3 -u root -f
/root/.ssh/id_rsa
-D 160.0.1.5 -a
spring-boot
-d 10 -g
/root/spring-boot
-j "sh
/root/apache-jmeter-5.6.3/bin/jmeter.sh
-nt
/root/Test_request.jmx
-l
/home/tester/result.html
-eo
/home/tester/report
" -o ./report_dir -m
/root/.local/bisheng-jdk-17.0.10
'''
}
post {
always {
publishHTML(target: [allowMissing: false,
alwaysLinkToLastBuild: false,
keepAll              : true,
reportDir            : './report_dir',
reportFiles          : 'devkit_performance_report.html',
reportName           : 'Java Performance Report']
)
}
}
}
}
}
```

- “/home/tester/report”：JMeter报告输出路径。
- “/home/tester/result.html”：JMeter产生的结果文件。
- “/root/.local/devkit_tester/bin/entrance”：Java性能测试工具所在路径。
- “/root/.ssh/id_rsa”：私钥所在路径。
- spring-boot：需要采集的应用名称。
- “/root/spring-boot”：工作节点上通过git clone下载的代码路径。
- “/root/apache-jmeter-5.6.3/bin/jmeter.sh”：JMeter工具所在路径。
- “/root/Test_request.jmx”：JMeter测试文件所在路径。
- “/root/.local/bisheng-jdk-17.0.10”：BiSheng JDK17所在路径。

以上内容请根据实际情况进行修改。
