diff --git a/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/business/deploy-ease-tenant-adapter.yml b/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/business/deploy-ease-tenant-adapter.yml
index ab04f7c..2190d61 100644
--- a/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/business/deploy-ease-tenant-adapter.yml
+++ b/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/business/deploy-ease-tenant-adapter.yml
@@ -2,4 +2,6 @@ server:
port: 0
spring:
application:
- name: deploy-ease-tenant-adapter-${TENANT_CODE}
\ No newline at end of file
+ name: deploy-ease-tenant-adapter-${TENANT_CODE}
+ autoconfigure:
+ exclude: org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration
\ No newline at end of file
diff --git a/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml b/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml
index e72d661..ca552d0 100644
--- a/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml
+++ b/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml
@@ -30,6 +30,8 @@ spring:
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
+ autoconfigure:
+ exclude: org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
cloud:
config:
override-none: true
diff --git a/deploy-ease-basic/pom.xml b/deploy-ease-basic/pom.xml
index 6b60ec6..c68c2a7 100644
--- a/deploy-ease-basic/pom.xml
+++ b/deploy-ease-basic/pom.xml
@@ -32,10 +32,10 @@
org.apache.httpcomponents.client5
httpclient5
-
- com.alibaba.fastjson2
- fastjson2
-
+
+
+
+
org.apache.commons
commons-lang3
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java
index 9ed6a6f..526c66f 100644
--- a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java
@@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
@@ -15,8 +16,9 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
@Slf4j
public class RedisAutoConfiguration {
- public RedisAutoConfiguration() {
-
+ @Bean
+ public RedisConnectionFactory redisConnectionFactory() {
+ return new LettuceConnectionFactory();
}
@Bean(name = "redisTemplate")
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/TenantAdapterRunner.java b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/TenantAdapterRunner.java
index f0fd21b..326970f 100644
--- a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/TenantAdapterRunner.java
+++ b/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/config/TenantAdapterRunner.java
@@ -59,9 +59,6 @@ public class TenantAdapterRunner implements CommandLineRunner {
log.info("Start the tenant adapter project!!!");
ExecutorService pool = Executors.newFixedThreadPool(tenants.size());
ExecutorService checkRegistered = Executors.newSingleThreadExecutor();
-// for (TenantResponse tenant : tenants) {
-// runTenantAdapterJar(tenant.getTenantCode());
-// }
CompletableFuture.allOf(tenants.stream().map(tenant -> CompletableFuture.runAsync(() -> execStartTenantAdapterJar(tenant.getTenantCode()), pool)).toArray(CompletableFuture[]::new));
pool.shutdown();
checkRegistered.submit(() -> {
@@ -102,13 +99,21 @@ public class TenantAdapterRunner implements CommandLineRunner {
}
@NotNull
- private String[] buildTenantAdapterNacosArgs(String tenantCode) {
+ private String[] buildTenantAdapterRunArgs(String tenantCode) {
Properties nacosProperties = nacosDiscoveryProperties.getNacosProperties();
- return new String[] {String.format("--NACOS_CONFIG_SERVER=%s", nacosProperties.get("serverAddr")), String.format("--TENANT_CODE=%s", tenantCode), String.format("--DEPLOY_ENV=%s", nacosProperties.get("namespace")), String.format("--NACOS_USER=%s", nacosProperties.get("username")), String.format("--NACOS_PWD=%s", nacosProperties.get("password"))};
+ return new String[] {
+ "-Dfile.encoding=utf-8",
+ "-Dspring.config.location=classpath:/application-dev.yml",
+ String.format("--NACOS_CONFIG_SERVER=%s", nacosProperties.get("serverAddr")),
+ String.format("--TENANT_CODE=%s", tenantCode),
+ String.format("--DEPLOY_ENV=%s", nacosProperties.get("namespace")),
+ String.format("--NACOS_USER=%s", nacosProperties.get("username")),
+ String.format("--NACOS_PWD=%s", nacosProperties.get("password"))
+ };
}
private void execStartTenantAdapterJar(String tenantCode) {
- String[] runArgs = buildTenantAdapterNacosArgs(tenantCode);
+ String[] runArgs = buildTenantAdapterRunArgs(tenantCode);
try {
log.info("Start the {} adapter project", tenantCode);
String[] command = {"java", "-jar", adapterJarFile};
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/DeployEaseTenantAdapterApplication.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/DeployEaseTenantAdapterApplication.java
index aa0c164..68003b2 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/DeployEaseTenantAdapterApplication.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/DeployEaseTenantAdapterApplication.java
@@ -1,18 +1,13 @@
package com.qc.soft.deploy.ease.adapter;
-import com.qc.soft.framework.basic.config.GlobalExceptionHandler;
-import com.qc.soft.framework.basic.config.GlobalResponseHandler;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.SpringBootConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Import;
import org.springframework.scheduling.annotation.EnableScheduling;
-@SpringBootConfiguration
-@EnableAutoConfiguration
+@SpringBootApplication
@ComponentScan("com.qc.soft.deploy.ease.*")
@EnableFeignClients
@EnableDiscoveryClient
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/api/thirdparty/JenkinsLoginBasic.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/api/thirdparty/JenkinsLoginBasic.java
index ac23a07..25e5a82 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/api/thirdparty/JenkinsLoginBasic.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/api/thirdparty/JenkinsLoginBasic.java
@@ -5,7 +5,7 @@ import lombok.Data;
@Data
public class JenkinsLoginBasic {
- private String name;
+ private String envName;
private String url;
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterBeanRegistry.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterBeanRegistry.java
index c16657d..a84b4ec 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterBeanRegistry.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterBeanRegistry.java
@@ -37,7 +37,7 @@ public class TenantAdapterBeanRegistry implements BeanDefinitionRegistryPostProc
}
TenantContext.setCurrentTenant(environment.getProperty("TENANT_CODE"));
JenkinsLoginBasic loginBasic = new JenkinsLoginBasic();
- loginBasic.setName("longi-dev&uat");
+ loginBasic.setEnvName("longi-dev&uat");
loginBasic.setUrl("http://jenkins-rd.longi.com:8080");
loginBasic.setUsername("ibpuser");
loginBasic.setPassword("ibp@ibp!2023");
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterConfiguration.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterConfiguration.java
index 78f4c23..2cf9eca 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterConfiguration.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/config/TenantAdapterConfiguration.java
@@ -14,18 +14,4 @@ public class TenantAdapterConfiguration {
};
}
-// @Bean(name = "redisTemplate")
-// public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
-// RedisTemplate redisTemplate = new RedisTemplate<>();
-// redisTemplate.setConnectionFactory(factory);
-// RedisSerializer stringSerializer = new StringRedisSerializer();
-// GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer();
-// redisTemplate.setKeySerializer(stringSerializer);
-// redisTemplate.setValueSerializer(serializer);
-// redisTemplate.setHashKeySerializer(stringSerializer);
-// redisTemplate.setHashValueSerializer(serializer);
-// return redisTemplate;
-// }
-
-
}
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/consts/JenkinsConstants.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/consts/JenkinsConstants.java
index 365e821..5b085a9 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/consts/JenkinsConstants.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/consts/JenkinsConstants.java
@@ -1,6 +1,7 @@
package com.qc.soft.deploy.ease.adapter.consts;
import com.qc.soft.deploy.ease.adapter.context.TenantAdapterContext;
+import com.qc.soft.framework.basic.context.TenantContext;
public class JenkinsConstants {
@@ -16,11 +17,11 @@ public class JenkinsConstants {
public static final String JENKINS_BUILD_API = "%s/view/%s/job/%s/%s/api/json?pretty=true";
- public static final String REDIS_JENKINS_ORIGINAL_VIEW = "deploy-ease:jenkins:" + TenantAdapterContext.getJenkinsLoginBasic().getName() + ":original";
+ public static final String REDIS_JENKINS_ORIGINAL_VIEW = "deploy-ease:jenkins:" + TenantContext.getCurrentTenant() + ":" + TenantAdapterContext.getJenkinsLoginBasic().getEnvName() + ":original";
- public static final String REDIS_JENKINS_ORIGINAL_VIEW_JOB = "deploy-ease:jenkins:" + TenantAdapterContext.getJenkinsLoginBasic().getName() + ":original:view:%s";
+ public static final String REDIS_JENKINS_ORIGINAL_VIEW_JOB = "deploy-ease:jenkins:" + TenantContext.getCurrentTenant() + ":" + TenantAdapterContext.getJenkinsLoginBasic().getEnvName() + ":original:view:%s";
- public static final String REDIS_JENKINS_ORIGINAL_VIEW_JOB_DETAIL = "deploy-ease:jenkins:" + TenantAdapterContext.getJenkinsLoginBasic().getName() + ":original:view:%s:job:%s";
+ public static final String REDIS_JENKINS_ORIGINAL_VIEW_JOB_DETAIL = "deploy-ease:jenkins:" + TenantContext.getCurrentTenant() + ":" + TenantAdapterContext.getJenkinsLoginBasic().getEnvName() + ":original:view:%s:job:%s";
- public static final String REDIS_JENKINS_ORIGINAL_VIEW_BUILD = "deploy-ease:jenkins:" + TenantAdapterContext.getJenkinsLoginBasic().getName() + ":original:view:%s:job:%s:build:%s";
+ public static final String REDIS_JENKINS_ORIGINAL_VIEW_BUILD = "deploy-ease:jenkins:" + TenantContext.getCurrentTenant() + ":" + TenantAdapterContext.getJenkinsLoginBasic().getEnvName() + ":original:view:%s:job:%s:build:%s";
}
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/context/TenantAdapterContext.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/context/TenantAdapterContext.java
index 17815db..ebac420 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/context/TenantAdapterContext.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/context/TenantAdapterContext.java
@@ -2,9 +2,7 @@ package com.qc.soft.deploy.ease.adapter.context;
import com.qc.soft.deploy.ease.adapter.api.thirdparty.JenkinsLoginBasic;
import com.qc.soft.framework.basic.utils.Base64AuthUtils;
-import lombok.Data;
import lombok.Getter;
-import lombok.Setter;
public class TenantAdapterContext {
@@ -12,7 +10,7 @@ public class TenantAdapterContext {
private static final JenkinsLoginBasic jenkinsLoginBasic = new JenkinsLoginBasic();
public static void buildJenkinsLoginBasic(JenkinsLoginBasic loginBasic) {
- jenkinsLoginBasic.setName(loginBasic.getName());
+ jenkinsLoginBasic.setEnvName(loginBasic.getEnvName());
jenkinsLoginBasic.setUrl(loginBasic.getUrl());
jenkinsLoginBasic.setUsername(loginBasic.getUsername());
jenkinsLoginBasic.setPassword(loginBasic.getPassword());
diff --git a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/controller/JenkinsController.java b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/controller/JenkinsController.java
index 2174407..4b3ef01 100644
--- a/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/controller/JenkinsController.java
+++ b/deploy-ease-tenant-adapter/src/main/java/com/qc/soft/deploy/ease/adapter/controller/JenkinsController.java
@@ -8,6 +8,7 @@ import com.qc.soft.deploy.ease.adapter.controller.response.jenkins.view.JenkinsV
import com.qc.soft.deploy.ease.adapter.service.IJenkinsService;
import com.qc.soft.deploy.ease.api.response.TenantDictionaryResponse;
import org.springframework.http.MediaType;
+import org.springframework.http.codec.ServerSentEvent;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,6 +17,7 @@ import reactor.core.publisher.Flux;
import javax.annotation.Resource;
import java.time.Duration;
+import java.time.LocalTime;
import java.util.List;
@RestController
@@ -63,10 +65,18 @@ public class JenkinsController {
// return Flux.interval(Duration.ofSeconds(2)).map(index -> jenkinsService.aggregate());
// }
- @GetMapping(value = "jenkins/aggregate")
- public JenkinsAggregateResponse aggregate() {
- return jenkinsService.aggregate();
- }
-
-
+// @GetMapping(value = "jenkins/aggregate")
+// public JenkinsAggregateResponse aggregate() {
+// return jenkinsService.aggregate();
+// }
+//
+//
+// @GetMapping(value = "/events", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
+// public Flux> streamEvents() {
+// return Flux.interval(Duration.ofSeconds(1))
+// .map(sequence -> ServerSentEvent.builder()
+// .id(String.valueOf(sequence))
+// .data("Current time: " + LocalTime.now())
+// .build());
+// }
}
diff --git a/deploy-ease-tenant-adapter/src/main/resources/application-dev.yml b/deploy-ease-tenant-adapter/src/main/resources/application-dev.yml
index 9488fa3..7b9e752 100644
--- a/deploy-ease-tenant-adapter/src/main/resources/application-dev.yml
+++ b/deploy-ease-tenant-adapter/src/main/resources/application-dev.yml
@@ -1,6 +1,8 @@
spring:
application:
name: deploy-ease-tenant-adapter
+ autoconfigure:
+ exclude: org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration
redis:
enabled: true
host: localhost
diff --git a/deploy-ease-tenant-adapter/target/classes/application-dev.yml b/deploy-ease-tenant-adapter/target/classes/application-dev.yml
index 9488fa3..7b9e752 100644
--- a/deploy-ease-tenant-adapter/target/classes/application-dev.yml
+++ b/deploy-ease-tenant-adapter/target/classes/application-dev.yml
@@ -1,6 +1,8 @@
spring:
application:
name: deploy-ease-tenant-adapter
+ autoconfigure:
+ exclude: org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration
redis:
enabled: true
host: localhost