diff --git a/deploy-ease-core/pom.xml b/deploy-ease-core/pom.xml
index 845bd39..eb6ef0b 100644
--- a/deploy-ease-core/pom.xml
+++ b/deploy-ease-core/pom.xml
@@ -136,6 +136,10 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
+
+ org.springframework.cloud
+ spring-cloud-loadbalancer
+
com.alibaba.nacos
nacos-client
@@ -143,7 +147,10 @@
org.apache.commons
commons-lang3
- 3.12.0
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/DeployEaseApplication.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/DeployEaseApplication.java
index 0cc18e9..42d5191 100644
--- a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/DeployEaseApplication.java
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/DeployEaseApplication.java
@@ -3,16 +3,17 @@ package com.qc.soft.deploy.ease;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
-import java.net.URL;
-import java.net.URLClassLoader;
-
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.qc.soft.deploy.ease")
@EnableAsync
+@EnableFeignClients
+@EnableDiscoveryClient
public class DeployEaseApplication {
public static void main(String[] args) {
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/DruidConfig.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/DruidConfig.java
index 34c7182..9e495ae 100644
--- a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/DruidConfig.java
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/DruidConfig.java
@@ -7,8 +7,10 @@ import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
import javax.sql.DataSource;
import java.util.Arrays;
@@ -50,4 +52,11 @@ public class DruidConfig {
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
+
+ @Bean
+ @LoadBalanced
+ public RestTemplate restTemplate() {
+ return new RestTemplate();
+ }
+
}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/controller/mgmt/JenkinsController.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/controller/mgmt/JenkinsController.java
new file mode 100644
index 0000000..5983e1b
--- /dev/null
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/controller/mgmt/JenkinsController.java
@@ -0,0 +1,31 @@
+package com.qc.soft.deploy.ease.controller.mgmt;
+
+
+import com.qc.soft.deploy.ease.fegin.ITenantAdapterService;
+import com.qc.soft.deploy.ease.fegin.response.JenkinsAggregateResponse;
+import com.qc.soft.framework.basic.context.TenantContext;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/mgmt")
+public class JenkinsController {
+
+
+ @Resource
+ private ITenantAdapterService tenantAdapterService;
+
+ @Resource
+ private RestTemplate restTemplate;
+
+ @GetMapping(value = "jenkins/aggregate")
+ public JenkinsAggregateResponse aggregate() {
+// JenkinsAggregateResponse aggregate = tenantAdapterService.aggregate();
+ return restTemplate.getForObject("http://deploy-ease-tenant-adapter-" + TenantContext.getCurrentTenant() + "/mgmt/jenkins/aggregate", JenkinsAggregateResponse.class);
+ }
+
+}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/ITenantAdapterService.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/ITenantAdapterService.java
new file mode 100644
index 0000000..a73272e
--- /dev/null
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/ITenantAdapterService.java
@@ -0,0 +1,14 @@
+package com.qc.soft.deploy.ease.fegin;
+
+
+import com.qc.soft.deploy.ease.fegin.response.JenkinsAggregateResponse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(name = "deploy-ease-tenant-adapter-longi")
+public interface ITenantAdapterService {
+
+ @GetMapping("/mgmt/jenkins/aggregate")
+ JenkinsAggregateResponse aggregate();
+
+}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsAggregateResponse.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsAggregateResponse.java
new file mode 100644
index 0000000..7c95bc7
--- /dev/null
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsAggregateResponse.java
@@ -0,0 +1,14 @@
+package com.qc.soft.deploy.ease.fegin.response;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class JenkinsAggregateResponse {
+
+ private List views;
+
+}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewAggregateResponse.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewAggregateResponse.java
new file mode 100644
index 0000000..358bd24
--- /dev/null
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewAggregateResponse.java
@@ -0,0 +1,16 @@
+package com.qc.soft.deploy.ease.fegin.response;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class JenkinsViewAggregateResponse {
+
+ private String viewName;
+
+ private List projects;
+
+}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewProjectAggregateResponse.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewProjectAggregateResponse.java
new file mode 100644
index 0000000..88ae34b
--- /dev/null
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewProjectAggregateResponse.java
@@ -0,0 +1,37 @@
+package com.qc.soft.deploy.ease.fegin.response;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class JenkinsViewProjectAggregateResponse {
+
+ String projectName;
+
+ String color;
+
+ String description;
+
+ String displayName;
+
+ String fullDisplayName;
+
+ String fullName;
+
+// List builds;
+//
+// JenkinsViewProjectTaskAggregateResponse firstBuild;
+
+ JenkinsViewProjectTaskAggregateResponse lastBuild;
+
+// JenkinsViewProjectTaskAggregateResponse lastCompletedBuild;
+//
+// JenkinsViewProjectTaskAggregateResponse lastStableBuild;
+//
+// JenkinsViewProjectTaskAggregateResponse lastSuccessfulBuild;
+
+ int nextBuildNumber;
+
+ boolean disabled;
+}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewProjectTaskAggregateResponse.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewProjectTaskAggregateResponse.java
new file mode 100644
index 0000000..2674673
--- /dev/null
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/fegin/response/JenkinsViewProjectTaskAggregateResponse.java
@@ -0,0 +1,28 @@
+package com.qc.soft.deploy.ease.fegin.response;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class JenkinsViewProjectTaskAggregateResponse {
+
+ private Integer number;
+
+ private Boolean inProgress;
+
+ private Boolean building;
+
+ private String result;
+
+ private String timestamp;
+
+ private Long duration;
+
+ private Integer queueId;
+
+ private Map changeSet;
+
+}
\ No newline at end of file
diff --git a/deploy-ease-tenant-adapter/pom.xml b/deploy-ease-tenant-adapter/pom.xml
index 595a685..dde2c4f 100644
--- a/deploy-ease-tenant-adapter/pom.xml
+++ b/deploy-ease-tenant-adapter/pom.xml
@@ -101,10 +101,6 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
-
- org.springframework.boot
- spring-boot-starter-webflux
-
org.springframework.cloud
spring-cloud-starter-openfeign