diff --git a/dsBuild/src/main/java/Util/PublishUtil.java b/dsBuild/src/main/java/Util/PublishUtil.java index d2fd0c2b..cf33b8f1 100644 --- a/dsBuild/src/main/java/Util/PublishUtil.java +++ b/dsBuild/src/main/java/Util/PublishUtil.java @@ -2,7 +2,6 @@ package Util; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ZipUtil; -import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.jfinal.kit.Kv; import com.jfinal.kit.PathKit; @@ -32,7 +31,7 @@ public class PublishUtil { * docker tag 19a54d2204aa registry.cn-hangzhou.aliyuncs.com/yltcharge/jdk:21 * docker push registry.cn-hangzhou.aliyuncs.com/yltcharge/jdk:21 */ - public static void publish(String projectName) throws Exception { + public static void publish(String projectName,boolean isStatic,String workingPath,String localLibPath) throws Exception { System.out.println("正在生成" + projectName + "的镜像..."); //配置文件 String path = PathKit.getRootClassPath() + "\\publishImage.json"; @@ -42,23 +41,6 @@ public class PublishUtil { String user = jo.getString("user"); String pwd = jo.getString("pwd"); int port = jo.getIntValue("port"); - JSONArray ja = jo.getJSONArray("project"); - - String workingPath = null, remotePath, localLibPath = null; - boolean isStatic = false; - - for (Object o : ja) { - JSONObject project = (JSONObject) o; - String p = project.getString("projectName"); - if (p.equals(projectName)) { - workingPath = project.getString("workingPath"); - localLibPath = project.getString("localLibPath"); - if (project.getBoolean("isStatic")) { - isStatic = true; - } - break; - } - } //声明SSH对象 SSHUtil ssh = new SSHUtil(user, pwd, host, port); @@ -71,7 +53,7 @@ public class PublishUtil { newVersion = newVersion.replace(" ", "").replace("-", "").replace(":", ""); //准备工作 - remotePath = "/usr/local/" + projectName + "/"; + String remotePath = "/usr/local/" + projectName + "/"; ssh.exec("rm -rf " + remotePath); ssh.mkdir(remotePath); @@ -223,4 +205,5 @@ public class PublishUtil { } return sb.toString(); } + } diff --git a/dsBuild/src/main/java/build_ds_base.java b/dsBuild/src/main/java/build_ds_base.java deleted file mode 100644 index f33a7381..00000000 --- a/dsBuild/src/main/java/build_ds_base.java +++ /dev/null @@ -1,9 +0,0 @@ -import Util.PublishUtil; - -public class build_ds_base { - public static void main(String[] args) throws Exception { - //项目名称 - String projectName = "ds-base"; - PublishUtil.publish(projectName); - } -} diff --git a/dsBuild/src/main/java/build_ds_base_web.java b/dsBuild/src/main/java/build_ds_base_web.java deleted file mode 100644 index 6c93de85..00000000 --- a/dsBuild/src/main/java/build_ds_base_web.java +++ /dev/null @@ -1,9 +0,0 @@ -import Util.PublishUtil; - -public class build_ds_base_web { - public static void main(String[] args) throws Exception { - //项目名称 - String projectName = "ds-base-web"; - PublishUtil.publish(projectName); - } -} diff --git a/dsBuild/src/main/java/build_ds_gw.java b/dsBuild/src/main/java/build_ds_gw.java deleted file mode 100644 index bf4c76d1..00000000 --- a/dsBuild/src/main/java/build_ds_gw.java +++ /dev/null @@ -1,9 +0,0 @@ -import Util.PublishUtil; - -public class build_ds_gw { - public static void main(String[] args) throws Exception { - //项目名称 - String projectName = "ds-gw"; - PublishUtil.publish(projectName); - } -} diff --git a/dsBuild/src/main/java/publishAll.java b/dsBuild/src/main/java/publishAll.java index 488d050d..ec8b2954 100644 --- a/dsBuild/src/main/java/publishAll.java +++ b/dsBuild/src/main/java/publishAll.java @@ -1,22 +1,40 @@ +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import Util.*; +import cn.hutool.core.io.FileUtil; public class publishAll { public static List listProject = new ArrayList<>(); + public static String basedir; + + static { + try { + basedir = new File(System.getProperty("user.dir")).getCanonicalPath(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + /** * 功能:获取项目属性,1:JAVA后端,2:WEB前端 + * * @return - * @throws IOException */ public static int getProjectAttribute(int id) { for (ProjectBean projectBean : listProject) { - if(projectBean.getId() == id){ - //String devprojectBean.getDevProjectName() - break; + if (projectBean.getId() == id) { + + String path = basedir + "\\" + projectBean.getDevProjectName(); + //这个path目录下有没有src这样的子目录,如果有,则判定为JAVA项目,否则为WEB项目 + if (new File(path + "\\src").exists()) { + return 1; + } else { + return 2; + } } } return 0; @@ -25,12 +43,12 @@ public class publishAll { /** * 功能:提示用户选择项目,并返回项目编号 */ - public static void userSelectProject() { + public static int userSelectProject() { Scanner scanner = new Scanner(System.in); // 创建Scanner对象来读取控制台输入 System.out.println("请选择您本次要发布的项目编号:"); for (ProjectBean projectBean : listProject) { - System.out.print(projectBean.getId() + ":" + projectBean.getDevProjectName()+" "); + System.out.print(projectBean.getId() + ":" + projectBean.getDevProjectName() + " "); } System.out.println(); int choice = scanner.nextInt(); // 读取用户输入的整数 @@ -42,9 +60,10 @@ public class publishAll { } } scanner.close(); // 关闭Scanner对象 + return choice; } - public static void main(String[] args) throws IOException { + public static void main(String[] args) throws Exception { //1、探测当前目录下有哪些以ds开头的目录,这些目录都是待发布的项目 List projectNames = PublishUtil.getProjectNames(); @@ -62,7 +81,28 @@ public class publishAll { listProject.add(pb); } //让用户选择要发布的项目 - userSelectProject(); - + int choice = userSelectProject(); + //这个项目是什么类型? + int projectAttribute = getProjectAttribute(choice); + String workingPath = null, projectName = null, localLibPath = null; + boolean isStatic = false; + for (ProjectBean projectBean : listProject) { + if (projectBean.getId() == choice) { + workingPath = basedir + "\\" + projectBean.getDevProjectName(); + projectName = projectBean.getPublishProjectName(); + if (FileUtil.exist(workingPath + "\\lib")) { + localLibPath = workingPath + "\\lib"; + } + break; + } + } + if (projectAttribute == 1) { + System.out.println("JAVA项目"); + } else { + System.out.println("WEB项目"); + isStatic = true; + } + //开始打包 + PublishUtil.publish(projectName, isStatic, workingPath, localLibPath); } } diff --git a/dsBuild/src/main/resources/publishImage.json b/dsBuild/src/main/resources/publishImage.json index bf823b09..6e6528b2 100644 --- a/dsBuild/src/main/resources/publishImage.json +++ b/dsBuild/src/main/resources/publishImage.json @@ -2,25 +2,5 @@ "host": "10.10.14.212", "user": "root", "pwd": "dsideal", - "port": 22, - "project": [ - { - "projectName": "ds-gw", - "workingPath": "D:/dsWork/dsProject/dsGw/", - "localLibPath": "D:/dsWork/dsProject/dsGw/lib/", - "isStatic": false - }, - { - "projectName": "ds-base", - "workingPath": "D:/dsWork/dsProject/dsBase/", - "localLibPath": "D:/dsWork/dsProject/dsBase/lib/", - "isStatic": false - }, - { - "projectName": "ds-base-web", - "workingPath": "D:/dsWork/dsProject/dsBaseWeb/", - "localLibPath": "", - "isStatic": true - } - ] + "port": 22 } diff --git a/dsBuild/target/classes/publishImage.json b/dsBuild/target/classes/publishImage.json index bf823b09..6e6528b2 100644 --- a/dsBuild/target/classes/publishImage.json +++ b/dsBuild/target/classes/publishImage.json @@ -2,25 +2,5 @@ "host": "10.10.14.212", "user": "root", "pwd": "dsideal", - "port": 22, - "project": [ - { - "projectName": "ds-gw", - "workingPath": "D:/dsWork/dsProject/dsGw/", - "localLibPath": "D:/dsWork/dsProject/dsGw/lib/", - "isStatic": false - }, - { - "projectName": "ds-base", - "workingPath": "D:/dsWork/dsProject/dsBase/", - "localLibPath": "D:/dsWork/dsProject/dsBase/lib/", - "isStatic": false - }, - { - "projectName": "ds-base-web", - "workingPath": "D:/dsWork/dsProject/dsBaseWeb/", - "localLibPath": "", - "isStatic": true - } - ] + "port": 22 } diff --git a/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java b/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java index d7d1906c..4f4a14ab 100644 --- a/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java +++ b/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java @@ -271,18 +271,18 @@ public class RouterHandler extends Handler { //3、处理POST请求 if (req.getMethod().equals("POST")) { RequestBody body = createRequestBody(req); - Request request; + Request.Builder builder; if (queryString != null) { - request = new Request.Builder().url(FORWARD_URL + "?" + queryString) - .addHeader("Authorization", req.getHeader("Authorization")) - .addHeader("Accept", "application/json;odata=verbose") - .post(body).build(); + builder = new Request.Builder().url(FORWARD_URL + "?" + queryString); } else { - request = new Request.Builder().url(FORWARD_URL) - .addHeader("Authorization", req.getHeader("Authorization")) - .addHeader("Accept", "application/json;odata=verbose") - .post(body).build(); + builder = new Request.Builder().url(FORWARD_URL); + } + if (!StrKit.isBlank(req.getHeader("Authorization"))) { + builder.addHeader("Authorization", req.getHeader("Authorization")); + builder.addHeader("Accept", "application/json;odata=verbose"); } + builder.post(body); + Request request = builder.build(); try { executeRequest(request, res); isHandled[0] = true;//停止filter