mirror of https://gitee.com/stylefeng/roses
【7.2.5】【scanner】更新资源汇报方式
parent
b42aecf521
commit
abe7737c61
|
@ -0,0 +1,22 @@
|
|||
package cn.stylefeng.roses.kernel.scanner.api;
|
||||
|
||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportResourceParam;
|
||||
|
||||
/**
|
||||
* 检测是否运维平台本地化部署的API
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/10/17 23:54
|
||||
*/
|
||||
public interface DevOpsDetectApi {
|
||||
|
||||
/**
|
||||
* 本地化上报资源到运维平台
|
||||
*
|
||||
* @param devOpsReportResourceParam 上报时候的参数,里边包括了所有当前项目资源
|
||||
* @author fengshuonan
|
||||
* @date 2022/10/17 23:56
|
||||
*/
|
||||
void saveResource(DevOpsReportResourceParam devOpsReportResourceParam);
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package cn.stylefeng.roses.kernel.scanner;
|
||||
package cn.stylefeng.roses.kernel.scanner.devops;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
|
@ -28,7 +28,7 @@ import static cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants.*
|
|||
* @author fengshuonan
|
||||
* @date 2022/4/2 14:38
|
||||
*/
|
||||
public class DevOpsReportImpl implements DevOpsReportApi {
|
||||
public class DefaultDevOpsReportImpl implements DevOpsReportApi {
|
||||
|
||||
@Override
|
||||
public void reportResources(DevOpsReportProperties devOpsReportProperties, List<SysResourcePersistencePojo> sysResourcePersistencePojoList) {
|
|
@ -0,0 +1,34 @@
|
|||
package cn.stylefeng.roses.kernel.scanner.devops;
|
||||
|
||||
import cn.stylefeng.roses.kernel.scanner.api.DevOpsDetectApi;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.DevOpsReportApi;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportProperties;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportResourceParam;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.SysResourcePersistencePojo;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新的方式向devops平台汇报资源,通过本地化集成devops平台
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/10/18 0:04
|
||||
*/
|
||||
public class LocalizedDevOpsReportImpl implements DevOpsReportApi {
|
||||
|
||||
@Resource
|
||||
private DevOpsDetectApi devOpsDetectApi;
|
||||
|
||||
@Override
|
||||
public void reportResources(DevOpsReportProperties devOpsReportProperties, List<SysResourcePersistencePojo> sysResourcePersistencePojoList) {
|
||||
|
||||
// 组装请求参数
|
||||
DevOpsReportResourceParam devOpsReportResourceParam = new DevOpsReportResourceParam(
|
||||
devOpsReportProperties.getProjectUniqueCode(), null, sysResourcePersistencePojoList, devOpsReportProperties.getFieldMetadataClassPath());
|
||||
|
||||
// 进行post请求,汇报资源
|
||||
devOpsDetectApi.saveResource(devOpsReportResourceParam);
|
||||
}
|
||||
|
||||
}
|
|
@ -27,12 +27,14 @@ package cn.stylefeng.roses.kernel.scanner.starter;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.stylefeng.roses.kernel.scanner.ApiResourceScanner;
|
||||
import cn.stylefeng.roses.kernel.scanner.DefaultResourceCollector;
|
||||
import cn.stylefeng.roses.kernel.scanner.DevOpsReportImpl;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.DevOpsReportApi;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.DevOpsDetectApi;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.ResourceCollectorApi;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportProperties;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.scanner.ScannerProperties;
|
||||
import cn.stylefeng.roses.kernel.scanner.devops.DefaultDevOpsReportImpl;
|
||||
import cn.stylefeng.roses.kernel.scanner.devops.LocalizedDevOpsReportImpl;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
@ -115,14 +117,27 @@ public class GunsResourceAutoConfiguration {
|
|||
}
|
||||
|
||||
/**
|
||||
* 向DevOps平台汇报资源
|
||||
* 向DevOps平台汇报资源,传统方式,远程资源汇报
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/4/2 14:41
|
||||
*/
|
||||
@Bean
|
||||
public DevOpsReportApi devOpsReportApi() {
|
||||
return new DevOpsReportImpl();
|
||||
@ConditionalOnMissingBean(DevOpsDetectApi.class)
|
||||
public DefaultDevOpsReportImpl defaultDevOpsReport() {
|
||||
return new DefaultDevOpsReportImpl();
|
||||
}
|
||||
|
||||
/**
|
||||
* 向DevOps平台汇报资源,新方式,本地化集成运维平台
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/10/18 0:03
|
||||
*/
|
||||
@Bean
|
||||
@ConditionalOnBean(DevOpsDetectApi.class)
|
||||
public LocalizedDevOpsReportImpl localizedDevOpsReport() {
|
||||
return new LocalizedDevOpsReportImpl();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue