From 4c7a9aec7b66f7452ed75e4ceaebe6a0dd3c3d33 Mon Sep 17 00:00:00 2001 From: zeaslity Date: Thu, 14 Dec 2023 17:11:24 +0800 Subject: [PATCH] [ Agent ] [ App ] - offline build nfs client - 1 --- agent-go/executor/BaseFunction.go | 70 ++++++++++-------------------- agent-go/executor/BasicFunction.go | 17 ++++++++ 2 files changed, 39 insertions(+), 48 deletions(-) diff --git a/agent-go/executor/BaseFunction.go b/agent-go/executor/BaseFunction.go index f908f84..fd1097e 100644 --- a/agent-go/executor/BaseFunction.go +++ b/agent-go/executor/BaseFunction.go @@ -757,6 +757,7 @@ func (op *AgentOsOperator) installDockerExec(args []string) (bool, []string) { func (op *AgentOsOperator) installDockerOfflineExec(args []string) (bool, []string) { log.InfoF("[installDockerOfflineExec] - install docker 20.10.15 by offline method !") + BasicCreateFolder("/root/install") // download static binary installer of docker var dockerOfflineFileName string @@ -770,6 +771,9 @@ func (op *AgentOsOperator) installDockerOfflineExec(args []string) (bool, []stri if !ok { return false, resultLog } + + BasicRemoveFolderComplete("/root/install/docker") + PureResultSingleExecute([]string{ "tar", "-vxf", @@ -778,19 +782,14 @@ func (op *AgentOsOperator) installDockerOfflineExec(args []string) (bool, []stri "/root/install", }) - resultOk, l := AllCompleteExecutor([][]string{ - { - "chmod", - "777", - "-R", - "/root/install/docker/*", - }, - { - "mv", - "/root/install/docker/*", - "/usr/bin", - }, + AllCommandExecutor([]string{ + "chmod", + "777", + "-R", + "/root/install/docker/*", }) + + resultOk, l := HardCodeCommandExecutor("mv /root/install/docker/* /usr/bin") if !resultOk { return false, append(l, "[installDockerOfflineExec] - cp docker executable file error!") } @@ -1116,11 +1115,7 @@ func (op *AgentOsOperator) installNFSOfflineExec() (bool, []string) { return false, append(resultLog, "[installNFSOfflineExec]- download nfs-client offline package error !", nfsClientOfflinePackageOSSUrl) } - AllCommandExecutor([]string{ - "rm", - "-rf", - "/root/install/tmp", - }) + BasicRemoveFolderComplete("/root/install/tmp") // unzip AllCommandExecutor([]string{ @@ -1230,11 +1225,7 @@ func (op *AgentOsOperator) installNFSServerOfflineExec() (bool, []string) { return false, append(resultLog, "[installNFSServerOfflineExec]- download nfs-server offline package error !", nfsServerOfflinePackageOSSUrl) } - AllCommandExecutor([]string{ - "rm", - "-rf", - "/root/install/tmp", - }) + BasicRemoveFolderComplete("/root/install/tmp") // unzip AllCommandExecutor([]string{ @@ -1415,32 +1406,15 @@ func (op *AgentOsOperator) installHarborExec() (bool, []string) { // download offline file harborOfflineFileURL := op.OssOfflinePrefix + "harbor-offline-installer-v2.9.0.tgz" log.InfoF("[install harbor] - start to download harbor offline installer from => %s !", harborOfflineFileURL) - resultOk, resultLog := AllCompleteExecutor([][]string{ - { - "mkdir", - "-p", - "/root/wdd/", - }, - { - "rm", - "-rf", - "/root/wdd/harbor-offline-installer-v2.9.0.tgz", - }, - { - "rm", - "-rf", - "/root/wdd/harbor", - }, - { - "wget", - "--no-check-certificate", - harborOfflineFileURL, - "-qO", - "/root/wdd/harbor-offline-installer-v2.9.0.tgz", - }}, - ) - if !resultOk { - return false, append(resultLog, "download harbor offline installer failed!") + + BasicCreateFolder("/root/wdd/") + + BasicRemoveFolderComplete("/root/wdd/harbor-offline-installer-v2.9.0.tgz") + BasicRemoveFolderComplete("/root/wdd/harbor") + + downloadOk, l := BasicDownloadFile(harborOfflineFileURL, "/root/wdd/harbor-offline-installer-v2.9.0.tgz") + if !downloadOk { + return false, append(l, "download harbor offline installer failed!") } if !BasicFileExistAndNotNull("/root/wdd/harbor-offline-installer-v2.9.0.tgz") { diff --git a/agent-go/executor/BasicFunction.go b/agent-go/executor/BasicFunction.go index 84106e5..4bc97a7 100644 --- a/agent-go/executor/BasicFunction.go +++ b/agent-go/executor/BasicFunction.go @@ -187,6 +187,23 @@ func BasicReplace(filename string, origin string, replace string) bool { } } +func BasicRemoveFolderComplete(folderName string) bool { + + if !BasicFileExists(folderName) || !BasicFolderExists(folderName) { + log.DebugF("[BasicRemoveFolderComplete] - file or folder of [%s] not exists !", folderName) + return true + } + + cmd := exec.Command("rm", "-rf", folderName) + err := cmd.Run() + if err != nil { + log.DebugF("删除 %s 失败!", folderName) + return false + } else { + return true + } +} + // BasicFileExists 检测文件是否存在 func BasicFileExists(filename string) bool {