main
黄海 10 months ago
parent 1b7f0a066c
commit ab762d7929

@ -2,7 +2,6 @@ package Util;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.jfinal.kit.Kv; import com.jfinal.kit.Kv;
import com.jfinal.kit.PathKit; import com.jfinal.kit.PathKit;
@ -32,7 +31,7 @@ public class PublishUtil {
* docker tag 19a54d2204aa registry.cn-hangzhou.aliyuncs.com/yltcharge/jdk:21 * docker tag 19a54d2204aa registry.cn-hangzhou.aliyuncs.com/yltcharge/jdk:21
* docker push 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 + "的镜像..."); System.out.println("正在生成" + projectName + "的镜像...");
//配置文件 //配置文件
String path = PathKit.getRootClassPath() + "\\publishImage.json"; String path = PathKit.getRootClassPath() + "\\publishImage.json";
@ -42,23 +41,6 @@ public class PublishUtil {
String user = jo.getString("user"); String user = jo.getString("user");
String pwd = jo.getString("pwd"); String pwd = jo.getString("pwd");
int port = jo.getIntValue("port"); 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对象 //声明SSH对象
SSHUtil ssh = new SSHUtil(user, pwd, host, port); SSHUtil ssh = new SSHUtil(user, pwd, host, port);
@ -71,7 +53,7 @@ public class PublishUtil {
newVersion = newVersion.replace(" ", "").replace("-", "").replace(":", ""); newVersion = newVersion.replace(" ", "").replace("-", "").replace(":", "");
//准备工作 //准备工作
remotePath = "/usr/local/" + projectName + "/"; String remotePath = "/usr/local/" + projectName + "/";
ssh.exec("rm -rf " + remotePath); ssh.exec("rm -rf " + remotePath);
ssh.mkdir(remotePath); ssh.mkdir(remotePath);
@ -223,4 +205,5 @@ public class PublishUtil {
} }
return sb.toString(); return sb.toString();
} }
} }

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -1,22 +1,40 @@
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Scanner; import java.util.Scanner;
import Util.*; import Util.*;
import cn.hutool.core.io.FileUtil;
public class publishAll { public class publishAll {
public static List<ProjectBean> listProject = new ArrayList<>(); public static List<ProjectBean> listProject = new ArrayList<>();
public static String basedir;
static {
try {
basedir = new File(System.getProperty("user.dir")).getCanonicalPath();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/** /**
* 1JAVA2WEB * 1JAVA2WEB
*
* @return * @return
* @throws IOException
*/ */
public static int getProjectAttribute(int id) { public static int getProjectAttribute(int id) {
for (ProjectBean projectBean : listProject) { for (ProjectBean projectBean : listProject) {
if(projectBean.getId() == id){ if (projectBean.getId() == id) {
//String devprojectBean.getDevProjectName()
break; String path = basedir + "\\" + projectBean.getDevProjectName();
//这个path目录下有没有src这样的子目录如果有则判定为JAVA项目否则为WEB项目
if (new File(path + "\\src").exists()) {
return 1;
} else {
return 2;
}
} }
} }
return 0; return 0;
@ -25,12 +43,12 @@ public class publishAll {
/** /**
* *
*/ */
public static void userSelectProject() { public static int userSelectProject() {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象来读取控制台输入 Scanner scanner = new Scanner(System.in); // 创建Scanner对象来读取控制台输入
System.out.println("请选择您本次要发布的项目编号:"); System.out.println("请选择您本次要发布的项目编号:");
for (ProjectBean projectBean : listProject) { for (ProjectBean projectBean : listProject) {
System.out.print(projectBean.getId() + ":" + projectBean.getDevProjectName()+" "); System.out.print(projectBean.getId() + ":" + projectBean.getDevProjectName() + " ");
} }
System.out.println(); System.out.println();
int choice = scanner.nextInt(); // 读取用户输入的整数 int choice = scanner.nextInt(); // 读取用户输入的整数
@ -42,9 +60,10 @@ public class publishAll {
} }
} }
scanner.close(); // 关闭Scanner对象 scanner.close(); // 关闭Scanner对象
return choice;
} }
public static void main(String[] args) throws IOException { public static void main(String[] args) throws Exception {
//1、探测当前目录下有哪些以ds开头的目录这些目录都是待发布的项目 //1、探测当前目录下有哪些以ds开头的目录这些目录都是待发布的项目
List<String> projectNames = PublishUtil.getProjectNames(); List<String> projectNames = PublishUtil.getProjectNames();
@ -62,7 +81,28 @@ public class publishAll {
listProject.add(pb); 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);
} }
} }

@ -2,25 +2,5 @@
"host": "10.10.14.212", "host": "10.10.14.212",
"user": "root", "user": "root",
"pwd": "dsideal", "pwd": "dsideal",
"port": 22, "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
}
]
} }

@ -2,25 +2,5 @@
"host": "10.10.14.212", "host": "10.10.14.212",
"user": "root", "user": "root",
"pwd": "dsideal", "pwd": "dsideal",
"port": 22, "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
}
]
} }

@ -271,18 +271,18 @@ public class RouterHandler extends Handler {
//3、处理POST请求 //3、处理POST请求
if (req.getMethod().equals("POST")) { if (req.getMethod().equals("POST")) {
RequestBody body = createRequestBody(req); RequestBody body = createRequestBody(req);
Request request; Request.Builder builder;
if (queryString != null) { if (queryString != null) {
request = new Request.Builder().url(FORWARD_URL + "?" + queryString) builder = new Request.Builder().url(FORWARD_URL + "?" + queryString);
.addHeader("Authorization", req.getHeader("Authorization"))
.addHeader("Accept", "application/json;odata=verbose")
.post(body).build();
} else { } else {
request = new Request.Builder().url(FORWARD_URL) builder = new Request.Builder().url(FORWARD_URL);
.addHeader("Authorization", req.getHeader("Authorization")) }
.addHeader("Accept", "application/json;odata=verbose") if (!StrKit.isBlank(req.getHeader("Authorization"))) {
.post(body).build(); builder.addHeader("Authorization", req.getHeader("Authorization"));
builder.addHeader("Accept", "application/json;odata=verbose");
} }
builder.post(body);
Request request = builder.build();
try { try {
executeRequest(request, res); executeRequest(request, res);
isHandled[0] = true;//停止filter isHandled[0] = true;//停止filter

Loading…
Cancel
Save