diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java index 44552d11a..59ff15072 100644 --- a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java @@ -62,4 +62,14 @@ public interface ScannerConstants { */ String FIELD_METADATA_CLASS_ALL_PATH = "cn.stylefeng.roses.kernel.scanner.api.pojo.resource.FieldMetadata"; + /** + * DevOps平台资源汇报接口token超时时间 + */ + Long DEVOPS_REPORT_TIMEOUT_SECONDS = 5L; + + /** + * DevOps平台资源汇报接口连接超时时间 + */ + Integer DEVOPS_REPORT_CONNECTION_TIMEOUT_SECONDS = 3; + } diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/exception/enums/DevOpsExceptionEnum.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/exception/enums/DevOpsExceptionEnum.java new file mode 100644 index 000000000..75a1642ac --- /dev/null +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/exception/enums/DevOpsExceptionEnum.java @@ -0,0 +1,71 @@ +/* + * Copyright [2020-2030] [https://www.stylefeng.cn] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Guns源码头部的版权声明。 + * 3.请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns + * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns + * 6.若您的项目无法满足以上几点,可申请商业授权 + */ +package cn.stylefeng.roses.kernel.scanner.api.exception.enums; + +import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; +import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; +import cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants; +import lombok.Getter; + +/** + * DevOps一体化平台异常枚举 + * + * @author fengshuonan + * @date 2022/1/11 17:31 + */ +@Getter +public enum DevOpsExceptionEnum implements AbstractExceptionEnum { + + /** + * DevOps汇报资源出错,Http调用出错! + */ + HTTP_ERROR(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ScannerConstants.RESOURCE_MODULE_NAME + "01", "DevOps汇报资源出错,Http调用出错!"), + + /** + * DevOps汇报资源出错,Http调用获取返回结果出错! + */ + HTTP_RESPONSE_EMPTY(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ScannerConstants.RESOURCE_MODULE_NAME + "02", "DevOps汇报资源出错,Http调用获取返回结果为空!"), + + /** + * DevOps汇报资源出错,Http调用获取返回结果出错! + */ + HTTP_RESPONSE_ERROR(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ScannerConstants.RESOURCE_MODULE_NAME + "02", "DevOps汇报资源出错,Http调用获取返回结果错误!具体原因为:{}"); + + /** + * 错误编码 + */ + private final String errorCode; + + /** + * 提示用户信息 + */ + private final String userTip; + + DevOpsExceptionEnum(String errorCode, String userTip) { + this.errorCode = errorCode; + this.userTip = userTip; + } + +} diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/devops/DevOpsReportProperties.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/devops/DevOpsReportProperties.java index ada74b66c..5d4d8b2f9 100644 --- a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/devops/DevOpsReportProperties.java +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/devops/DevOpsReportProperties.java @@ -1,5 +1,6 @@ package cn.stylefeng.roses.kernel.scanner.api.pojo.devops; +import cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants; import lombok.Data; /** @@ -12,14 +13,9 @@ import lombok.Data; public class DevOpsReportProperties { /** - * DevOps平台的IP + * DevOps平台的服务端地址,例如:http://127.0.0.1:8087 */ - private String host; - - /** - * DevOps平台的端口 - */ - private String port; + private String serverHost; /** * 当前项目在DevOps平台的唯一标识,由DevOps平台颁发 @@ -29,6 +25,13 @@ public class DevOpsReportProperties { /** * 当前项目和DevOps平台的交互秘钥(jwt秘钥) */ - private String projectInteractionKey; + private String projectInteractionSecretKey; + + /** + * FieldMetadata类的全路径 + *
+ * 默认是cn.stylefeng.roses开头的
+ */
+ private String fieldMetadataClassPath = ScannerConstants.FIELD_METADATA_CLASS_ALL_PATH;
}
diff --git a/kernel-d-scanner/scanner-sdk-scanner/src/main/java/cn/stylefeng/roses/kernel/scanner/ResourceReportListener.java b/kernel-d-scanner/scanner-sdk-scanner/src/main/java/cn/stylefeng/roses/kernel/scanner/ResourceReportListener.java
index 35fb45551..aea51f249 100644
--- a/kernel-d-scanner/scanner-sdk-scanner/src/main/java/cn/stylefeng/roses/kernel/scanner/ResourceReportListener.java
+++ b/kernel-d-scanner/scanner-sdk-scanner/src/main/java/cn/stylefeng/roses/kernel/scanner/ResourceReportListener.java
@@ -77,10 +77,10 @@ public class ResourceReportListener extends ApplicationReadyListener implements
DevOpsReportProperties devOpsReportProperties = applicationContext.getBean(DevOpsReportProperties.class);
// 如果配置了相关属性则进行DevOps资源汇报
if (ObjectUtil.isAllNotEmpty(devOpsReportProperties,
- devOpsReportProperties.getHost(),
- devOpsReportProperties.getPort(),
- devOpsReportProperties.getProjectInteractionKey(),
- devOpsReportProperties.getProjectUniqueCode())) {
+ devOpsReportProperties.getServerHost(),
+ devOpsReportProperties.getProjectInteractionSecretKey(),
+ devOpsReportProperties.getProjectUniqueCode(),
+ devOpsReportProperties.getServerHost())) {
DevOpsReportApi devOpsReportApi = applicationContext.getBean(DevOpsReportApi.class);
devOpsReportApi.reportResources(devOpsReportProperties, modularResources);
}
diff --git a/kernel-s-system/system-business-resource/pom.xml b/kernel-s-system/system-business-resource/pom.xml
index d8422bb0b..35569b7a6 100644
--- a/kernel-s-system/system-business-resource/pom.xml
+++ b/kernel-s-system/system-business-resource/pom.xml
@@ -17,6 +17,13 @@