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.convert.Convert;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
@ -28,7 +28,7 @@ import static cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants.*
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2022/4/2 14:38
|
* @date 2022/4/2 14:38
|
||||||
*/
|
*/
|
||||||
public class DevOpsReportImpl implements DevOpsReportApi {
|
public class DefaultDevOpsReportImpl implements DevOpsReportApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void reportResources(DevOpsReportProperties devOpsReportProperties, List<SysResourcePersistencePojo> sysResourcePersistencePojoList) {
|
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.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.scanner.ApiResourceScanner;
|
import cn.stylefeng.roses.kernel.scanner.ApiResourceScanner;
|
||||||
import cn.stylefeng.roses.kernel.scanner.DefaultResourceCollector;
|
import cn.stylefeng.roses.kernel.scanner.DefaultResourceCollector;
|
||||||
import cn.stylefeng.roses.kernel.scanner.DevOpsReportImpl;
|
import cn.stylefeng.roses.kernel.scanner.api.DevOpsDetectApi;
|
||||||
import cn.stylefeng.roses.kernel.scanner.api.DevOpsReportApi;
|
|
||||||
import cn.stylefeng.roses.kernel.scanner.api.ResourceCollectorApi;
|
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.devops.DevOpsReportProperties;
|
||||||
import cn.stylefeng.roses.kernel.scanner.api.pojo.scanner.ScannerProperties;
|
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.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
@ -115,14 +117,27 @@ public class GunsResourceAutoConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 向DevOps平台汇报资源
|
* 向DevOps平台汇报资源,传统方式,远程资源汇报
|
||||||
*
|
*
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2022/4/2 14:41
|
* @date 2022/4/2 14:41
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public DevOpsReportApi devOpsReportApi() {
|
@ConditionalOnMissingBean(DevOpsDetectApi.class)
|
||||||
return new DevOpsReportImpl();
|
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