Ver Fonte

deployer 不使用配置文件, 采用命令行传参的方式

reghao há 2 anos atrás
pai
commit
ab2b6b46e0

+ 0 - 5
deployer/bin/deployer.json

@@ -1,5 +0,0 @@
-{
-  "localDir": "/home/reghao/code/java/devops/manager/bin",
-  "remoteDir": "/opt/apps/devops-manager",
-  "serverFile": "/home/reghao/Downloads/servers1.csv"
-}

+ 17 - 11
deployer/src/main/java/cn/reghao/devops/deployer/DeployApp.java

@@ -1,10 +1,7 @@
 package cn.reghao.devops.deployer;
 
-import cn.reghao.devops.deployer.model.DeployConfig;
 import cn.reghao.devops.deployer.model.RemoteHost;
-import cn.reghao.devops.deployer.util.ConfigFile;
 import cn.reghao.devops.deployer.util.Sftp;
-import cn.reghao.jutil.jdk.serializer.JsonConverter;
 import lombok.extern.slf4j.Slf4j;
 
 import java.io.File;
@@ -17,16 +14,25 @@ import java.util.List;
 @Slf4j
 public class DeployApp {
     public static void main(String[] args) {
-        if (args.length != 1) {
-            log.error("必须指定配置文件...");
+        if (args.length != 3) {
+            log.error("usage: java -jar devops-deployer ${local_dir} ${remote_dir} ${sever_file}");
             return;
         }
-        String configFilePath = ConfigFile.configFilePath(args[0], DeployApp.class);
-        DeployConfig deployConfig = JsonConverter.jsonFileToObject(new File(configFilePath), DeployConfig.class);
 
-        String serverFile = deployConfig.getServerFile();
-        String local = deployConfig.getLocalDir();
-        String remoteDir = deployConfig.getRemoteDir();
+        String localDir = args[0];
+        File file1 = new File(localDir);
+        if (!file1.exists() || file1.isFile()) {
+            log.error("local_dir is not exist or is a file");
+            return;
+        }
+
+        String remoteDir = args[1];
+        String serverFile = args[2];
+        File file2 = new File(serverFile);
+        if (!file2.exists() || file2.isDirectory()) {
+            log.error("server_file is not exist or is a directory");
+            return;
+        }
 
         log.info("start deploy devops apps");
         Sftp sftp = new Sftp();
@@ -34,7 +40,7 @@ public class DeployApp {
         for (RemoteHost remoteHost : remoteHosts) {
             try {
                 String host = remoteHost.getHost();
-                sftp.deploy(local, remoteDir, remoteHost);
+                sftp.deploy(localDir, remoteDir, remoteHost);
                 log.info("deploy devops on {} done", host);
             } catch (Exception e) {
                 e.printStackTrace();

+ 0 - 16
deployer/src/main/java/cn/reghao/devops/deployer/model/DeployConfig.java

@@ -1,16 +0,0 @@
-package cn.reghao.devops.deployer.model;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2024-02-20 10:07:48
- */
-@AllArgsConstructor
-@Getter
-public class DeployConfig {
-    private String localDir;
-    private String remoteDir;
-    private String serverFile;
-}

+ 0 - 53
deployer/src/main/java/cn/reghao/devops/deployer/util/ConfigFile.java

@@ -1,53 +0,0 @@
-package cn.reghao.devops.deployer.util;
-
-import lombok.extern.slf4j.Slf4j;
-
-import java.io.File;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
-
-/**
- * @author reghao
- * @date 2021-03-03 18:47:01
- */
-@Slf4j
-public class ConfigFile {
-    public static String configFilePath(String arg, Class<?> clazz) {
-        String configFilePath = null;
-        File configFile = new File(arg);
-        if (!configFile.exists()) {
-            if (arg.startsWith("./")) {
-                String filename = arg.replace(".", "")
-                        .replace("/", "");
-                configFilePath = runningHome(clazz) + "/" + filename;
-            } else if (!arg.contains("/")) {
-                configFilePath = runningHome(clazz) + "/" + arg;
-            } else {
-                log.error("相对路径的配置文件必须以 ./configFile 或 configFile 形式指定...");
-            }
-        } else {
-            // 绝对路径
-            configFilePath = arg;
-        }
-        return configFilePath;
-    }
-    
-    /**
-     * jar 文件运行目录
-     *
-     * @param
-     * @return
-     * @date 2021-03-03 下午6:33
-     */
-    public static String runningHome(Class<?> clazz) {
-        URL url = clazz.getProtectionDomain().getCodeSource().getLocation();
-        String jarFilePath = URLDecoder.decode(url.getPath(), StandardCharsets.UTF_8);
-        if (jarFilePath.endsWith(".jar")) {
-            jarFilePath = jarFilePath.substring(0, jarFilePath.lastIndexOf("/") + 1);
-        }
-
-        File file = new File(jarFilePath);
-        return file.getAbsolutePath();
-    }
-}