Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
b8fcee6a
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 3 年多
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b8fcee6a
编写于
3月 24, 2020
作者:
C
Captain.B
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
k8s 启动 jmeter
上级
a72ba551
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
19 addition
and
6 deletion
+19
-6
backend/src/main/java/io/metersphere/engine/kubernetes/KubernetesTestEngine.java
...o/metersphere/engine/kubernetes/KubernetesTestEngine.java
+18
-4
backend/src/main/java/io/metersphere/parse/xml/reader/jmx/JmeterDocumentParser.java
...etersphere/parse/xml/reader/jmx/JmeterDocumentParser.java
+1
-2
未找到文件。
backend/src/main/java/io/metersphere/engine/kubernetes/KubernetesTestEngine.java
浏览文件 @
b8fcee6a
...
...
@@ -6,6 +6,7 @@ import io.fabric8.kubernetes.api.model.ObjectMeta;
import
io.fabric8.kubernetes.client.KubernetesClient
;
import
io.metersphere.base.domain.TestResource
;
import
io.metersphere.base.domain.TestResourcePool
;
import
io.metersphere.commons.constants.ResourcePoolTypeEnum
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.commons.utils.CommonBeanFactory
;
import
io.metersphere.commons.utils.LogUtil
;
...
...
@@ -17,6 +18,7 @@ import io.metersphere.engine.kubernetes.provider.ClientCredential;
import
io.metersphere.engine.kubernetes.provider.KubernetesProvider
;
import
io.metersphere.service.TestResourcePoolService
;
import
io.metersphere.service.TestResourceService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
java.util.HashMap
;
...
...
@@ -29,7 +31,6 @@ public class KubernetesTestEngine implements Engine {
@Override
public
boolean
init
(
EngineContext
context
)
{
// todo 初始化操作
this
.
context
=
context
;
this
.
testResourcePoolService
=
CommonBeanFactory
.
getBean
(
TestResourcePoolService
.
class
);
this
.
testResourceService
=
CommonBeanFactory
.
getBean
(
TestResourceService
.
class
);
...
...
@@ -47,10 +48,22 @@ public class KubernetesTestEngine implements Engine {
if
(
resourcePool
==
null
)
{
MSException
.
throwException
(
"Resource Pool is empty"
);
}
if
(!
ResourcePoolTypeEnum
.
K8S
.
name
().
equals
(
resourcePool
.
getType
()))
{
MSException
.
throwException
(
"Invalid Resource Pool type."
);
}
List
<
TestResource
>
resourceList
=
testResourceService
.
getResourcesByPoolId
(
resourcePool
.
getId
());
// todo 运行测试
ClientCredential
credential
=
new
ClientCredential
();
credential
.
setMasterUrl
(
"https://172.16.10.93:6443"
);
if
(
CollectionUtils
.
isEmpty
(
resourceList
))
{
MSException
.
throwException
(
"Test Resource is empty"
);
}
// resourceList size 1
resourceList
.
forEach
(
r
->
{
String
configuration
=
r
.
getConfiguration
();
ClientCredential
clientCredential
=
JSON
.
parseObject
(
configuration
,
ClientCredential
.
class
);
runTest
(
clientCredential
);
});
}
private
void
runTest
(
ClientCredential
credential
)
{
KubernetesProvider
kubernetesProvider
=
new
KubernetesProvider
(
JSON
.
toJSONString
(
credential
));
// create namespace
kubernetesProvider
.
confirmNamespace
(
context
.
getNamespace
());
...
...
@@ -73,6 +86,7 @@ public class KubernetesTestEngine implements Engine {
}
}
// create jmeter
// todo image
try
{
Jmeter
jmeter
=
new
Jmeter
();
jmeter
.
setMetadata
(
new
ObjectMeta
()
{{
...
...
backend/src/main/java/io/metersphere/parse/xml/reader/jmx/JmeterDocumentParser.java
浏览文件 @
b8fcee6a
...
...
@@ -233,11 +233,10 @@ public class JmeterDocumentParser implements DocumentParser {
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"kafka.batch.size"
,
kafkaProperties
.
getBatchSize
()));
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"kafka.client.id"
,
kafkaProperties
.
getClientId
()));
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"kafka.connections.max.idle.ms"
,
kafkaProperties
.
getConnectionsMaxIdleMs
()));
// 添加关联关系 test.id test.name test.startTime
test.size
// 添加关联关系 test.id test.name test.startTime
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"test.id"
,
context
.
getTestId
()));
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"test.name"
,
context
.
getTestName
()));
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"test.startTime"
,
""
+
System
.
currentTimeMillis
()));
collectionProp
.
appendChild
(
createKafkaProp
(
document
,
"test.size"
,
"1"
));
elementProp
.
appendChild
(
collectionProp
);
// set elementProp
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录