mirror of
https://gitee.com/dromara/Jpom.git
synced 2024-12-04 04:49:48 +08:00
Merge branch 'dev' into task/i18n
This commit is contained in:
commit
f64f96b4a9
@ -1,6 +1,14 @@
|
||||
# 🚀 版本日志
|
||||
|
||||
## 2.11.5.0
|
||||
## 2.11.5.1-beta (2024-04-30)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
1. 【agent】新增 项目支持配置禁止扫描目录避免大目录页面超时(感谢@我)
|
||||
|
||||
------
|
||||
|
||||
## 2.11.5.0-beta (2024-04-29)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
@ -14,10 +22,11 @@
|
||||
4. 【server】修复 退出登录时页面会提示需要登录相关信息
|
||||
5. 【server】优化 页面检测新版本判断是否加入 beta
|
||||
6. 【agent】优化 添加数据记录修改人(感谢[@陈旭](https://gitee.com/chenxu8989) [Gitee issues I9JSY7](https://gitee.com/dromara/Jpom/issues/I9JSY7) )
|
||||
7. 【server】优化 插件端注册到服务端,网络测试支持 ping + telnet (感谢@泊凉青川)
|
||||
|
||||
------
|
||||
|
||||
## 2.11.4.2 (2024-04-22)
|
||||
## 2.11.4.2-beta (2024-04-22)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
@ -38,7 +47,7 @@
|
||||
|
||||
------
|
||||
|
||||
## 2.11.4.1 (2024-04-12)
|
||||
## 2.11.4.1-beta (2024-04-12)
|
||||
|
||||
### 🐞 解决BUG、优化功能
|
||||
|
||||
@ -47,7 +56,7 @@
|
||||
|
||||
------
|
||||
|
||||
## 2.11.4.0 (2024-04-12)
|
||||
## 2.11.4.0-beta (2024-04-12)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
@ -64,7 +73,7 @@
|
||||
|
||||
------
|
||||
|
||||
## 2.11.3.2 (2024-04-07)
|
||||
## 2.11.3.2-beta (2024-04-07)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
@ -79,7 +88,7 @@
|
||||
|
||||
------
|
||||
|
||||
## 2.11.3.1 (2024-04-02)
|
||||
## 2.11.3.1-beta (2024-04-02)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
@ -96,7 +105,7 @@
|
||||
|
||||
------
|
||||
|
||||
## 2.11.3.0 (2024-03-21)
|
||||
## 2.11.3.0-beta (2024-03-21)
|
||||
|
||||
### 🐣 新增功能
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
JPOM_VERSION=2.11.4.2
|
||||
JPOM_VERSION=2.11.5.1
|
||||
# Server Token 生产部署请更换
|
||||
SERVER_TOKEN=7094f673-2c53-4fc1-82e7-86e528449d97
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.dromara.jpom.agent-transport</groupId>
|
||||
<artifactId>jpom-agent-transport-parent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.dromara.jpom.agent-transport</groupId>
|
||||
<artifactId>jpom-agent-transport-parent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-parent</artifactId>
|
||||
<groupId>org.dromara.jpom</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<packaging>pom</packaging>
|
||||
@ -25,7 +25,7 @@
|
||||
<module>agent-transport-http</module>
|
||||
</modules>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<groupId>org.dromara.jpom.agent-transport</groupId>
|
||||
<artifactId>jpom-agent-transport-parent</artifactId>
|
||||
<name>Jpom Agent Transport</name>
|
||||
|
@ -16,12 +16,12 @@
|
||||
<parent>
|
||||
<artifactId>jpom-parent</artifactId>
|
||||
<groupId>org.dromara.jpom</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>agent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<name>Jpom Agent</name>
|
||||
<properties>
|
||||
<start-class>org.dromara.jpom.JpomAgentApplication</start-class>
|
||||
|
@ -189,6 +189,7 @@ public class ManageEditProjectController extends BaseAgentController {
|
||||
exits.setName(projectInfo.getName());
|
||||
exits.setGroup(projectInfo.getGroup());
|
||||
exits.setAutoStart(projectInfo.getAutoStart());
|
||||
exits.setDisableScanDir(projectInfo.getDisableScanDir());
|
||||
exits.setMainClass(projectInfo.mainClass());
|
||||
exits.setJvm(projectInfo.getJvm());
|
||||
exits.setArgs(projectInfo.getArgs());
|
||||
|
@ -77,7 +77,7 @@ public class ProjectFileBackupController extends BaseAgentController {
|
||||
if (CollUtil.isEmpty(collect)) {
|
||||
return JsonMessage.success("查询成功");
|
||||
}
|
||||
List<JSONObject> arrayFile = FileUtils.parseInfo(collect, true, path.getAbsolutePath());
|
||||
List<JSONObject> arrayFile = FileUtils.parseInfo(collect, true, path.getAbsolutePath(), projectInfoModel.isDisableScanDir());
|
||||
//
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("path", FileUtil.getAbsolutePath(path));
|
||||
@ -104,7 +104,7 @@ public class ProjectFileBackupController extends BaseAgentController {
|
||||
if (ArrayUtil.isEmpty(filesAll)) {
|
||||
return JsonMessage.success("查询成功", Collections.emptyList());
|
||||
}
|
||||
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib.getAbsolutePath());
|
||||
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib.getAbsolutePath(), projectInfoModel.isDisableScanDir());
|
||||
return JsonMessage.success("查询成功", arrayFile);
|
||||
}
|
||||
|
||||
|
@ -94,7 +94,8 @@ public class ProjectFileControl extends BaseAgentController {
|
||||
if (ArrayUtil.isEmpty(filesAll)) {
|
||||
return JsonMessage.success("查询成功", Collections.emptyList());
|
||||
}
|
||||
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib);
|
||||
boolean disableScanDir = pim.isDisableScanDir();
|
||||
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib, disableScanDir);
|
||||
AgentWhitelist whitelist = whitelistDirectoryService.getWhitelist();
|
||||
for (JSONObject jsonObject : arrayFile) {
|
||||
String filename = jsonObject.getString("filename");
|
||||
|
@ -141,7 +141,7 @@ public class ProjectLogBackController extends BaseAgentController {
|
||||
if (logBack.exists() && logBack.isDirectory()) {
|
||||
File[] filesAll = logBack.listFiles();
|
||||
if (filesAll != null) {
|
||||
List<JSONObject> jsonArray = FileUtils.parseInfo(filesAll, true, null);
|
||||
List<JSONObject> jsonArray = FileUtils.parseInfo(filesAll, true, null, pim.isDisableScanDir());
|
||||
jsonObject.put("array", jsonArray);
|
||||
}
|
||||
}
|
||||
|
@ -96,6 +96,10 @@ public class NodeProjectInfoModel extends BaseWorkspaceModel {
|
||||
* 最后一次执行 reload 结果
|
||||
*/
|
||||
private CommandOpResult lastReloadResult;
|
||||
/**
|
||||
* 禁用扫描目录
|
||||
*/
|
||||
private Boolean disableScanDir;
|
||||
// ---------------- 中转字段 start
|
||||
/**
|
||||
* 是否可以重新加载
|
||||
@ -111,6 +115,10 @@ public class NodeProjectInfoModel extends BaseWorkspaceModel {
|
||||
private String runCommand;
|
||||
// ---------------- 中转字段 end
|
||||
|
||||
public boolean isDisableScanDir() {
|
||||
return disableScanDir != null && disableScanDir;
|
||||
}
|
||||
|
||||
|
||||
public String javaExtDirsCp() {
|
||||
return StrUtil.emptyToDefault(javaExtDirsCp, StrUtil.EMPTY);
|
||||
|
@ -16,13 +16,13 @@
|
||||
<parent>
|
||||
<artifactId>jpom-parent</artifactId>
|
||||
<groupId>org.dromara.jpom</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>Jpom Common</name>
|
||||
<artifactId>common</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
@ -39,11 +39,14 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
public class FileUtils {
|
||||
|
||||
private static JSONObject fileToJson(File file) {
|
||||
private static JSONObject fileToJson(File file, boolean disableScanDir) {
|
||||
JSONObject jsonObject = new JSONObject(6);
|
||||
jsonObject.put("isDirectory", file.isDirectory());
|
||||
long sizeFile = FileUtil.size(file);
|
||||
jsonObject.put("fileSizeLong", sizeFile);
|
||||
boolean directory = file.isDirectory();
|
||||
jsonObject.put("isDirectory", directory);
|
||||
if (!directory || !disableScanDir) {
|
||||
long sizeFile = FileUtil.size(file);
|
||||
jsonObject.put("fileSizeLong", sizeFile);
|
||||
}
|
||||
jsonObject.put("filename", file.getName());
|
||||
long mTime = file.lastModified();
|
||||
jsonObject.put("modifyTimeLong", mTime);
|
||||
@ -58,8 +61,8 @@ public class FileUtils {
|
||||
* @param startPath 开始路径
|
||||
* @return 排序后的json
|
||||
*/
|
||||
public static List<JSONObject> parseInfo(File[] files, boolean time, String startPath) {
|
||||
return parseInfo(CollUtil.newArrayList(files), time, startPath);
|
||||
public static List<JSONObject> parseInfo(File[] files, boolean time, String startPath, boolean disableScanDir) {
|
||||
return parseInfo(CollUtil.newArrayList(files), time, startPath, disableScanDir);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -70,24 +73,26 @@ public class FileUtils {
|
||||
* @param startPath 开始路径
|
||||
* @return 排序后的json
|
||||
*/
|
||||
public static List<JSONObject> parseInfo(Collection<File> files, boolean time, String startPath) {
|
||||
public static List<JSONObject> parseInfo(Collection<File> files, boolean time, String startPath, boolean disableScanDir) {
|
||||
if (files == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return files.stream().map(file -> {
|
||||
JSONObject jsonObject = FileUtils.fileToJson(file);
|
||||
//
|
||||
if (startPath != null) {
|
||||
String levelName = StringUtil.delStartPath(file, startPath, false);
|
||||
jsonObject.put("levelName", levelName);
|
||||
}
|
||||
return jsonObject;
|
||||
}).sorted((jsonObject1, jsonObject2) -> {
|
||||
if (time) {
|
||||
return jsonObject2.getLong("modifyTimeLong").compareTo(jsonObject1.getLong("modifyTimeLong"));
|
||||
}
|
||||
return jsonObject1.getString("filename").compareTo(jsonObject2.getString("filename"));
|
||||
}).collect(Collectors.toList());
|
||||
return files.stream()
|
||||
.map(file -> {
|
||||
JSONObject jsonObject = FileUtils.fileToJson(file, disableScanDir);
|
||||
//
|
||||
if (startPath != null) {
|
||||
String levelName = StringUtil.delStartPath(file, startPath, false);
|
||||
jsonObject.put("levelName", levelName);
|
||||
}
|
||||
return jsonObject;
|
||||
})
|
||||
.sorted((jsonObject1, jsonObject2) -> {
|
||||
if (time) {
|
||||
return jsonObject2.getLong("modifyTimeLong").compareTo(jsonObject1.getLong("modifyTimeLong"));
|
||||
}
|
||||
return jsonObject1.getString("filename").compareTo(jsonObject2.getString("filename"));
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -7,4 +7,4 @@
|
||||
| |
|
||||
|_|
|
||||
➜ Jpom is licensed under Mulan PSL v2.
|
||||
➜ \ (•◡•) / (v2.11.5)
|
||||
➜ \ (•◡•) / (v2.11.5.1)
|
||||
|
@ -16,7 +16,7 @@ LABEL maintainer="bwcx-jzy <bwcx_jzy@163.com>"
|
||||
LABEL documentation="https://jpom.top"
|
||||
|
||||
ENV JPOM_HOME /usr/local/jpom-server
|
||||
ENV JPOM_PKG_VERSION 2.11.4.2
|
||||
ENV JPOM_PKG_VERSION 2.11.5.1
|
||||
ENV JPOM_PKG server-${JPOM_PKG_VERSION}-release.tar.gz
|
||||
ENV SHA1_NAME server-${JPOM_PKG_VERSION}-release.tar.gz.sha1
|
||||
|
||||
|
@ -16,7 +16,7 @@ LABEL maintainer="bwcx-jzy <bwcx_jzy@163.com>"
|
||||
LABEL documentation="https://jpom.top"
|
||||
|
||||
ENV JPOM_HOME /usr/local/jpom-server
|
||||
ENV JPOM_PKG_VERSION 2.11.4.2
|
||||
ENV JPOM_PKG_VERSION 2.11.5.1
|
||||
ENV JPOM_PKG server-${JPOM_PKG_VERSION}-release.tar.gz
|
||||
ENV SHA1_NAME server-${JPOM_PKG_VERSION}-release.tar.gz.sha1
|
||||
|
||||
|
@ -16,13 +16,13 @@
|
||||
<parent>
|
||||
<artifactId>jpom-parent</artifactId>
|
||||
<groupId>org.dromara.jpom</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>Jpom Server</name>
|
||||
<artifactId>server</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<properties>
|
||||
<start-class>org.dromara.jpom.JpomServerApplication</start-class>
|
||||
</properties>
|
||||
|
@ -375,7 +375,9 @@ public class OutGivingProjectEditController extends BaseServerController {
|
||||
String args = getParameter(StrUtil.format("{}_args", nodeModel.getId()));
|
||||
allData.put("args", args);
|
||||
String autoStart = getParameter(StrUtil.format("{}_autoStart", nodeModel.getId()));
|
||||
String disableScanDir = getParameter(StrUtil.format("{}_disableScanDir", nodeModel.getId()));
|
||||
allData.put("autoStart", Convert.toBool(autoStart, false));
|
||||
allData.put("disableScanDir", Convert.toBool(disableScanDir, false));
|
||||
allData.put("dslEnv", getParameter(StrUtil.format("{}_dslEnv", nodeModel.getId())));
|
||||
allData.put("nodeId", nodeModel.getId());
|
||||
JsonMessage<String> jsonMessage = this.sendData(nodeModel, allData, false);
|
||||
|
@ -257,11 +257,10 @@ public class MachineNodeController extends BaseGroupNameController {
|
||||
|
||||
@GetMapping(value = "monitor-config", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@Feature(method = MethodFeature.LIST)
|
||||
public IJsonMessage<JSONObject> info(HttpServletRequest request, String id) {
|
||||
public IJsonMessage<JSONObject> monitorConfig(HttpServletRequest request, String id) {
|
||||
IJsonMessage<JSONObject> message = this.tryRequestMachine(id, request, NodeUrl.Info);
|
||||
Assert.notNull(message, "没有对应的资产机器");
|
||||
Assert.state(message.success(), message.getMsg());
|
||||
//
|
||||
JSONObject data = message.getData();
|
||||
JSONObject monitor = Optional.ofNullable(data).map(jsonObject -> jsonObject.getJSONObject("monitor")).orElse(null);
|
||||
return JsonMessage.success("", monitor);
|
||||
|
@ -35,7 +35,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -87,7 +89,7 @@ public class NodeInfoController extends BaseServerController {
|
||||
ipsList.add(clientIp);
|
||||
}
|
||||
List<String> canUseIps = ipsList.stream()
|
||||
.filter(s -> this.testIpPort(s, ping))
|
||||
.filter(s -> this.testIpPort(s, ping, port))
|
||||
.collect(Collectors.toList());
|
||||
List<MachineNodeModel> canUseNode = canUseIps.stream().map(s -> {
|
||||
MachineNodeModel model = this.createMachineNodeModel(s, loginName, loginPwd, port);
|
||||
@ -164,12 +166,19 @@ public class NodeInfoController extends BaseServerController {
|
||||
* @param ping ping 时间
|
||||
* @return true
|
||||
*/
|
||||
private boolean testIpPort(String ip, String ping) {
|
||||
private boolean testIpPort(String ip, String ping, int port) {
|
||||
int pingTime = Convert.toInt(ping, 5);
|
||||
if (pingTime <= 0) {
|
||||
return true;
|
||||
}
|
||||
return NetUtil.ping(ip, pingTime * 1000);
|
||||
boolean pinged = NetUtil.ping(ip, pingTime * 1000);
|
||||
//
|
||||
return pinged || this.testIpCanPort(ip, pingTime, port);
|
||||
}
|
||||
|
||||
private boolean testIpCanPort(String ip, int timeout, int port) {
|
||||
InetSocketAddress address = NetUtil.createAddress(ip, port);
|
||||
return NetUtil.isOpen(address, (int) TimeUnit.SECONDS.toMillis(timeout));
|
||||
}
|
||||
|
||||
private MachineNodeModel createMachineNodeModel(String ip, String loginName, String loginPwd, int port) {
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-parent</artifactId>
|
||||
<groupId>org.dromara.jpom</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<packaging>pom</packaging>
|
||||
@ -28,7 +28,7 @@
|
||||
<module>storage-module-mariadb</module>
|
||||
</modules>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<groupId>org.dromara.jpom.storage-module</groupId>
|
||||
<artifactId>jpom-storage-module-parent</artifactId>
|
||||
<name>Jpom storage module</name>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.dromara.jpom.storage-module</groupId>
|
||||
<artifactId>jpom-storage-module-parent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.dromara.jpom.storage-module</groupId>
|
||||
<artifactId>jpom-storage-module-parent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.dromara.jpom.storage-module</groupId>
|
||||
<artifactId>jpom-storage-module-parent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.dromara.jpom.storage-module</groupId>
|
||||
<artifactId>jpom-storage-module-parent</artifactId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-storage-module-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.storage-module</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-parent</artifactId>
|
||||
<groupId>org.dromara.jpom</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<packaging>pom</packaging>
|
||||
@ -30,7 +30,7 @@
|
||||
<module>ssh-jsch</module>
|
||||
</modules>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<name>Jpom Plugins</name>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<name>plugin-ssh-jsch</name>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<parent>
|
||||
<artifactId>jpom-plugins-parent</artifactId>
|
||||
<groupId>org.dromara.jpom.plugins</groupId>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
2
pom.xml
2
pom.xml
@ -36,7 +36,7 @@
|
||||
简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件
|
||||
</description>
|
||||
<inceptionYear>2017</inceptionYear>
|
||||
<version>2.11.5</version>
|
||||
<version>2.11.5.1</version>
|
||||
<url>https://gitee.com/dromara/Jpom</url>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
@ -1 +1 @@
|
||||
2.11.4.2
|
||||
2.11.5.1
|
||||
|
@ -112,7 +112,8 @@ export function editProject(params) {
|
||||
autoStart: params.autoStart,
|
||||
dslContent: params.dslContent,
|
||||
dslEnv: params.dslEnv,
|
||||
linkId: params.linkId
|
||||
linkId: params.linkId,
|
||||
disableScanDir: params.disableScanDir
|
||||
}
|
||||
return axios({
|
||||
url: '/node/manage/saveProject',
|
||||
|
@ -184,6 +184,11 @@ export default {
|
||||
dangerousOperation: 'Dangerous operation!!!',
|
||||
noMoreNodeProjects: 'No more node projects available, please create a project first',
|
||||
selectNodeFirst: 'Please select a node first',
|
||||
confirmCancellationOfCurrentDistribution: 'Are you sure you want to cancel the current distribution?'
|
||||
confirmCancellationOfCurrentDistribution: 'Are you sure you want to cancel the current distribution?',
|
||||
disableScanDir: 'Disable scanning',
|
||||
scanning: 'scanning',
|
||||
dontScanning: "Don't scan",
|
||||
disableScanDirTip:
|
||||
'If the project directory is large or involves deep directories, it is recommended to turn off the scan to avoid getting the project directory scan too long and affecting performance'
|
||||
}
|
||||
}
|
||||
|
@ -169,6 +169,10 @@ export default {
|
||||
dangerousOperation: '危险操作!!!',
|
||||
noMoreNodeProjects: '已无更多节点项目,请先创建项目',
|
||||
selectNodeFirst: '请先选择节点',
|
||||
confirmCancellationOfCurrentDistribution: '真的取消当前分发吗?'
|
||||
confirmCancellationOfCurrentDistribution: '真的取消当前分发吗?',
|
||||
disableScanDir: '禁止扫描',
|
||||
scanning: '扫描',
|
||||
dontScanning: '不扫描',
|
||||
disableScanDirTip: '如果项目目录较大或者涉及到深目录,建议关闭扫描避免获取项目目录扫描过长影响性能'
|
||||
}
|
||||
}
|
||||
|
@ -857,7 +857,7 @@
|
||||
<a-select-option v-for="node in nodeList" :key="node.id">{{ `${node.name}` }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-collapse v-show="noFileModes.includes(temp.runMode)">
|
||||
<a-collapse>
|
||||
<a-collapse-panel v-for="nodeId in temp.nodeIdList" :key="nodeId" :header="nodeNameMap[nodeId] || nodeId">
|
||||
<a-form-item v-show="javaModes.includes(temp.runMode)" :label="$tl('p.jvmParams')" name="jvm">
|
||||
<a-textarea
|
||||
@ -894,6 +894,21 @@
|
||||
/>
|
||||
{{ $tl('p.pluginAutoCheckProjectOnStart') }}
|
||||
</a-form-item>
|
||||
<a-form-item name="disableScanDir">
|
||||
<template #label>
|
||||
<a-tooltip> {{ $tl('p.disableScanDir') }} </a-tooltip>
|
||||
</template>
|
||||
<template #help>
|
||||
<div>{{ $tl('p.disableScanDirTip') }}</div>
|
||||
</template>
|
||||
<div>
|
||||
<a-switch
|
||||
v-model:checked="temp[`${nodeId}_disableScanDir`]"
|
||||
:checked-children="$tl('p.dontScanning')"
|
||||
:un-checked-children="$tl('p.scanning')"
|
||||
/>
|
||||
</div>
|
||||
</a-form-item>
|
||||
<a-form-item v-if="temp.runMode === 'Dsl'" name="dslEnv" :label="$tl('p.dslEnvironmentVariables')">
|
||||
<a-input
|
||||
v-model:checked="temp[`${nodeId}_dslEnv`]"
|
||||
@ -1441,6 +1456,7 @@ export default {
|
||||
this.temp[`${ele.nodeId}_token`] = res.data.token || ''
|
||||
this.temp[`${ele.nodeId}_args`] = res.data.args || ''
|
||||
this.temp[`${ele.nodeId}_autoStart`] = res.data.autoStart
|
||||
this.temp[`${ele.nodeId}_disableScanDir`] = res.data.disableScanDir
|
||||
this.temp[`${ele.nodeId}_dslEnv`] = res.data.dslEnv || ''
|
||||
|
||||
this.temp = { ...this.temp }
|
||||
|
@ -293,9 +293,25 @@
|
||||
<QuestionCircleOutlined v-show="temp.type !== 'edit'" />
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<template #help><div>非服务器开机自启,如需开机自启建议配置<b>插件端开机自启</b>并开启此开关</div></template>
|
||||
<a-switch v-model:checked="temp.autoStart" checked-children="开" un-checked-children="关" />
|
||||
插件端启动时自动检查项目如未启动将尝试启动
|
||||
<template #help>
|
||||
<div>非服务器开机自启,如需开机自启建议配置<b>插件端开机自启</b>并开启此开关</div>
|
||||
</template>
|
||||
<div>
|
||||
<a-switch v-model:checked="temp.autoStart" checked-children="开" un-checked-children="关" />
|
||||
插件端启动时自动检查项目如未启动将尝试启动
|
||||
</div>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item name="disableScanDir">
|
||||
<template #label>
|
||||
<a-tooltip> 禁止扫描 </a-tooltip>
|
||||
</template>
|
||||
<template #help>
|
||||
<div>如果项目目录较大或者涉及到深目录,建议关闭扫描避免获取项目目录扫描过长影响性能</div>
|
||||
</template>
|
||||
<div>
|
||||
<a-switch v-model:checked="temp.disableScanDir" checked-children="不扫描" un-checked-children="扫描" />
|
||||
</div>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-show="noFileModes.includes(temp.runMode)" name="token">
|
||||
|
@ -119,8 +119,8 @@
|
||||
<span>{{ text ? '目录' : '文件' }}</span>
|
||||
</template>
|
||||
<template v-else-if="column.dataIndex === 'fileSizeLong'">
|
||||
<a-tooltip placement="topLeft" :title="`${text ? renderSize(text) : item.fileSize}`">
|
||||
{{ text ? renderSize(text) : item.fileSize }}
|
||||
<a-tooltip placement="topLeft" :title="`${text ? renderSize(text) : record.fileSize}`">
|
||||
{{ text ? renderSize(text) : record.fileSize }}
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<template v-else-if="column.dataIndex === 'modifyTimeLong'">
|
||||
|
Loading…
Reference in New Issue
Block a user