Explorar o código

AliyunOss.java 中的 client 全都通过 getClient() 方法获取

reghao hai 2 meses
pai
achega
587f1bed51

+ 3 - 3
web/src/main/java/cn/reghao/bnt/web/devops/aliyun/service/AliyunOss.java

@@ -115,7 +115,7 @@ public class AliyunOss {
     }
 
     public void deleteObject(String bucketName, String objectName) {
-        ossClient.deleteObject(bucketName, objectName);
+        getOssClient().deleteObject(bucketName, objectName);
     }
 
     public void deleteObjects(String bucketName, String prefix) {
@@ -126,7 +126,7 @@ public class AliyunOss {
             ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName)
                     .withPrefix(prefix)
                     .withMarker(nextMarker);
-            objectListing = ossClient.listObjects(listObjectsRequest);
+            objectListing = getOssClient().listObjects(listObjectsRequest);
             if (objectListing.getObjectSummaries().size() > 0) {
                 List<String> keys = new ArrayList<>();
                 for (OSSObjectSummary s : objectListing.getObjectSummaries()) {
@@ -135,7 +135,7 @@ public class AliyunOss {
                 }
 
                 /*DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(bucketName).withKeys(keys).withEncodingType("url");
-                DeleteObjectsResult deleteObjectsResult = ossClient.deleteObjects(deleteObjectsRequest);
+                DeleteObjectsResult deleteObjectsResult = getOssClient().deleteObjects(deleteObjectsRequest);
                 List<String> deletedObjects = deleteObjectsResult.getDeletedObjects();
                 for(String obj : deletedObjects) {
                     String deleteObj =  URLDecoder.decode(obj, StandardCharsets.UTF_8);

+ 26 - 21
web/src/main/java/cn/reghao/bnt/web/devops/app/service/bd/task/OssDeployTask.java

@@ -41,33 +41,38 @@ public class OssDeployTask implements Runnable {
         String destDirPath = LocalBuildDir.packDir + File.separator + appId + File.separator + dirname;
         File destDir = new File(destDirPath);
         if (destDir.exists()) {
-            log.error("start oss deploy task with appId {}", appId);
             // oss 机器 ID 格式: oss.bucketName
             String bucketName = machineId.split("\\.")[1];
             // 匹配 bucket 下的所有文件
             String prefix = "";
-            // 删除 bucket 下的所有文件
-            aliyunOss.deleteObjects(bucketName, prefix);
-            List<String> failedList = aliyunOss.uploadDir(bucketName, destDirPath);
 
-            EvtAppStatResult deployResult = new EvtAppStatResult(appId, machineId);
-            deployResult.setCommitId(commitId);
-            Result result = Result.success();
-            if (!failedList.isEmpty()) {
-                String errMsg = failedList.size() > 10 ? failedList.subList(0, 10).toString() : failedList.toString();
-                result = Result.fail(errMsg);
-                deployResult.setRunning(false);
-                deployResult.setStartTime(LocalDateTime.MIN);
-                deployResult.setPid(-1);
-                deployResult.setDeploy(false);
-            } else {
-                deployResult.setRunning(true);
-                deployResult.setStartTime(LocalDateTime.now());
-                deployResult.setPid(10086);
-                deployResult.setDeploy(true);
+            log.info("start {}'s oss deploy, upload dir {} to bucket {}", appId, destDirPath, bucketName);
+            try {
+                // 删除 bucket 下的所有文件
+                aliyunOss.deleteObjects(bucketName, prefix);
+                List<String> failedList = aliyunOss.uploadDir(bucketName, destDirPath);
+
+                EvtAppStatResult deployResult = new EvtAppStatResult(appId, machineId);
+                deployResult.setCommitId(commitId);
+                Result result = Result.success();
+                if (!failedList.isEmpty()) {
+                    String errMsg = failedList.size() > 10 ? failedList.subList(0, 10).toString() : failedList.toString();
+                    result = Result.fail(errMsg);
+                    deployResult.setRunning(false);
+                    deployResult.setStartTime(LocalDateTime.MIN);
+                    deployResult.setPid(-1);
+                    deployResult.setDeploy(false);
+                } else {
+                    deployResult.setRunning(true);
+                    deployResult.setStartTime(LocalDateTime.now());
+                    deployResult.setPid(10086);
+                    deployResult.setDeploy(true);
+                }
+                deployResult.setResult(result);
+                appDeployService.updateAfterDeploy(deployResult);
+            } catch (Exception e) {
+                e.printStackTrace();
             }
-            deployResult.setResult(result);
-            appDeployService.updateAfterDeploy(deployResult);
         } else {
             log.error("{} not exist", destDirPath);
         }