Skip to content

Commit 29609bc

Browse files
authored
Add script to upload articles (#8)
* Add script to upload articles * Fix the wrong link * Add more comments for jmeter test cases
1 parent 789bc34 commit 29609bc

4 files changed

Lines changed: 54 additions & 33 deletions

File tree

Jenkinsfile.jmeter

Lines changed: 0 additions & 31 deletions
This file was deleted.

Jenkinsfile.jmeter.groovy

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// this case requires docker image egaillardon/jmeter
2+
// you should run this pipeline under the kubernetes, and a container named jmeter is required
3+
// In order to execute this successfuly, please install plugins using below command
4+
// jcli plugin install kubernetes htmlpublisher pipeline-restful-api
5+
pipeline{
6+
agent{
7+
label 'jmeter'
8+
}
9+
10+
stages{
11+
stage('test'){
12+
steps{
13+
script{
14+
container('jmeter'){
15+
sh 'rm -rf result && rm -rf result.jtl && jmeter -n -t src/test/resources/baidu-jmeter.jmx -l result.jtl -e -o result'
16+
17+
// below is an example for sending test report to a generic artifact server
18+
// see more details from https://github.com/mayth/go-simple-upload-server/pull/14
19+
// sh 'curl http://10.0.129.98:12345'
20+
// def files = findFiles glob: 'result/**/*'
21+
// for(file in files) {
22+
// def path = file.path.replaceAll('result/', '').replaceAll(file.name, '')
23+
// path = currentBuild.fullProjectName + '/' + currentBuild.number + '/' + path
24+
// sh 'curl -Ffile=@' + file.path + ' "http://10.0.129.98:12345/upload?token=testtoken&path=' + path + '"'
25+
// }
26+
27+
// echo 'http://10.0.129.98:12345/' + currentBuild.fullProjectName + '/' + currentBuild.number + '/index.html'
28+
}
29+
}
30+
}
31+
}
32+
33+
stage('report'){
34+
steps{
35+
script{
36+
container('jmeter'){
37+
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'result', reportFiles: 'index.html', reportName: 'HTML Report', reportTitles: ''])
38+
}
39+
}
40+
}
41+
}
42+
43+
stage('artifacts') {
44+
steps {
45+
container('jmeter') {
46+
sh 'tar czf result.tar.gz result'
47+
archiveArtifacts 'result.tar.gz'
48+
}
49+
}
50+
}
51+
}
52+
}

README-zh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
|---|---|---|
77
|[Jenkinsfile-junit-k8s](Jenkinsfile-junit-k8s)|需要有一个带 `maven` 标签的代理节点。这个节点必须是在一个包含 `java` 容器的 pod 中。|生成 junit 报告。|
88
|[Jenkinsfile-input](Jenkinsfile-input)|任何类型的节点。|需要用户输入,然后流水线才可以继续。|
9-
|[Jenkinsfile.jmeter](Jenkinsfile.jmeter)|一个 kubernetes 环境|在 Jenkins 中运行 JMeter 测试|
9+
|[Jenkinsfile.jmeter.groovy](Jenkinsfile.jmeter.groovy)|一个 kubernetes 环境|在 Jenkins 中运行 JMeter 测试|
1010

1111
查看更多 https://jenkins-zh.cn/about/course/#1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ According to different use cases, we provide several Jenkinsfile for you:
66
|---|---|---|
77
|[Jenkinsfile-junit-k8s](Jenkinsfile-junit-k8s)|It requires an agent which has a label `maven`. The agent should be a pod which contains a container named `java`.|Generate junit report.|
88
|[Jenkinsfile-input](Jenkinsfile-input)|Any types of agent.|Require a user to input something, then the Pipeline will keep going.|
9-
|[Jenkinsfile.jmeter](Jenkinsfile.jmeter)|A kubernetes environment|Running a JMeter test in Jenkins|
9+
|[Jenkinsfile.jmeter.groovy](Jenkinsfile.jmeter.groovy)|A kubernetes environment|Running a JMeter test in Jenkins|
1010

1111
See also https://jenkins-zh.cn/about/course/#1

0 commit comments

Comments
 (0)