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