[ Agent ] [ Executor ] - 新增InstallHarbor部分

This commit is contained in:
zeaslity
2023-11-08 14:29:49 +08:00
parent 81363abf20
commit ee1ed8c02b
2 changed files with 139 additions and 2 deletions

View File

@@ -963,8 +963,144 @@ func (op *AgentOsOperator) installHarbor() [][]string {
return installHarborFunc
}
// installHarborExec install harbor offline
func (op *AgentOsOperator) installHarborExec() (bool, []string) {
return true, nil
// check docker-compose
if !BasicCommandExists("docker-compose") {
return false, []string{
"docker-compose uninstalled ! can't install harbor!",
}
}
// check already installed
ok, _ := PipelineCommandExecutor([][]string{
{
"docker",
"ps",
},
{
"grep",
"-q",
"harbor-core",
},
})
if ok {
alreadyInstalledLog := []string{
"install harbor, container harbor-core already running! harbor installed !",
}
log.Info(alreadyInstalledLog[0])
resultOk, resultLog := AllCommandExecutor([]string{
"docker-compose",
"-f",
"/root/wdd/harbor/harbor.yml",
"up",
"-d",
})
if !resultOk {
alreadyInstalledLog = append(alreadyInstalledLog, "restart docker-compose file failed !")
return false, append(alreadyInstalledLog, resultLog...)
} else {
return true, append(alreadyInstalledLog, "restart docker-compose file success !")
}
}
// download offline file
resultOk, resultLog := AllCompleteExecutor([][]string{
{
"mkdir",
"-p",
"/root/wdd/",
},
{
"rm",
"-rf",
"/root/wdd/harbor-offline-installer-v2.1.0.tgz",
},
{
"rm",
"-rf",
"/root/wdd/harbor",
},
{
"wget",
"--no-check-certificate",
g.BaseFuncOssUrlPrefix + "harbor-offline-installer-v2.1.0.tgz",
"-qO",
"/root/wdd/harbor-offline-installer-v2.1.0.tgz",
}},
)
if !resultOk {
return false, append(resultLog, "download harbor offline installer failed!")
}
if !BasicFileExistAndNotNull("/root/wdd/harbor-offline-installer-v2.1.0.tgz") {
return false, []string{"download harbor offline installer failed!"}
}
// unzip
AllCompleteExecutor([][]string{
{
"tar",
"-zvxf",
"/root/wdd/harbor-offline-installer-v2.1.0.tgz",
"-C",
"/root/wdd/",
},
{
"rm",
"-rf",
"/root/wdd/harbor/harbor.yml",
},
})
// configuration
AllCommandExecutor([]string{
"wget",
"--no-check-certificate",
g.BaseFuncOssUrlPrefix + "harbor-config-template.yml",
"-qO",
"/root/wdd/harbor/harbor.yml",
})
if !BasicFileExistAndNotNull("/root/wdd/harbor/harbor.yml") {
return false, []string{"harbor config template file download error !"}
}
AllCompleteExecutor([][]string{
{
"sed",
"-i",
"s/$HarborHostName/" + op.AgentServerInfo.ServerIPInV4 + "/g",
"/root/wdd/harbor/harbor.yml",
},
{
"sed",
"-i",
"s/$HarborHostPort/8033/g",
"/root/wdd/harbor/harbor.yml",
},
{
"sed",
"-i",
"s/$HarborPassword/V2ryStr@ngPss/g",
"/root/wdd/harbor/harbor.yml",
}})
log.InfoF("harbor config changed success to => %s!", op.AgentServerInfo.ServerIPInV4)
// install
executor, l := AllCommandExecutor([]string{
"/root/wdd/harbor/install.sh",
"--with-chartmuseum",
})
if !executor {
return false, l
}
return true, l
}
func (op *AgentOsOperator) chronyToPublicNTP() [][]string {
@@ -1069,7 +1205,7 @@ func (op *AgentOsOperator) chronyToPublicNTPExec() (bool, []string) {
{
"sed",
"-i",
"s/pool ntp.ubuntu.com iburst/server ntp2.aliyun.com iburst/g",
"s/pool ntp.ubuntu.com/server ntp2.aliyun.com/g",
chronyFile,
},
{