[ Cmii ] [ Octopus ] - fix a lot of bugs
This commit is contained in:
@@ -119,15 +119,15 @@ func (op *AgentOsOperator) deployRke(funcArgs []string) (bool, []string) {
|
||||
// download rke
|
||||
// download kubectl
|
||||
// download rke-cluster.yml
|
||||
ok, resultLog = BasicDownloadFile(op.OssOfflinePrefix+"rke", "/usr/local/bin/rke")
|
||||
ok, resultLog = BasicDownloadFileByCurl(op.OssOfflinePrefix+"rke", "/usr/local/bin/rke")
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
ok, resultLog = BasicDownloadFile(op.OssOfflinePrefix+"kubectl", "/usr/local/bin/kubectl")
|
||||
ok, resultLog = BasicDownloadFileByCurl(op.OssOfflinePrefix+"kubectl", "/usr/local/bin/kubectl")
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
ok, resultLog = BasicDownloadFile(op.OssOfflinePrefix+"rke-cluster-template.yaml", "/root/wdd/cluster.yml")
|
||||
ok, resultLog = BasicDownloadFileByCurl(op.OssOfflinePrefix+"rke-cluster-template.yaml", "/root/wdd/cluster.yml")
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -182,7 +182,7 @@ func (op *AgentOsOperator) deployK8sDashboard(funcArgs []string) (bool, []string
|
||||
|
||||
// download template file
|
||||
k8sDashBoardYamlFile := "/root/wdd/install/k8s-dashboard.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+"k8s-dashboard-template.yaml", k8sDashBoardYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+"k8s-dashboard-template.yaml", k8sDashBoardYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -302,7 +302,7 @@ func (op *AgentOsOperator) deployNFS(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sNFSYamlFile := "/root/wdd/install/k8s-nfs.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+nfsTemplateFile, k8sNFSYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+nfsTemplateFile, k8sNFSYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -354,7 +354,7 @@ func (op *AgentOsOperator) deployTestNFS(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sNFSYamlFile := "/root/wdd/install/k8s-nfs-test.json"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+nfsTemplateFile, k8sNFSYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+nfsTemplateFile, k8sNFSYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -411,7 +411,7 @@ func (op *AgentOsOperator) deployPVC(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sPvcYamlFile := "/root/wdd/install/k8s-pvc.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+pvcTemplateFile, k8sPvcYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+pvcTemplateFile, k8sPvcYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -468,7 +468,7 @@ func (op *AgentOsOperator) deployMySQL(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sMysqlYamlFile := "/root/wdd/install/k8s-mysql.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+mysqlTemplate, k8sMysqlYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+mysqlTemplate, k8sMysqlYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -539,7 +539,7 @@ func (op *AgentOsOperator) deployMySQL(funcArgs []string) (bool, []string) {
|
||||
// BasicCreateFolder(jackeyLoveLocalPrefix)
|
||||
//
|
||||
// jackeyLoveFolder := strings.Split(jackeyLove, ".tar")[0]
|
||||
// ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+jackeyLove, jackeyLoveLocalPrefix+jackeyLove)
|
||||
// ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+jackeyLove, jackeyLoveLocalPrefix+jackeyLove)
|
||||
// if !ok {
|
||||
// return false, append(resultLog, "[loadMysqlInitScript]- jackeyLove 下载失败!")
|
||||
// }
|
||||
@@ -639,7 +639,7 @@ func (op *AgentOsOperator) deployMiddlewares(funcArgs []string) (bool, []string)
|
||||
|
||||
// 下载模板文件
|
||||
k8sMiddlewaresYamlFile := "/root/wdd/install/k8s-middlewares.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+middlewaresTemplate, k8sMiddlewaresYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+middlewaresTemplate, k8sMiddlewaresYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -710,7 +710,7 @@ func (op *AgentOsOperator) deployRedis(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sRedisYamlFile := "/root/wdd/install/k8s-redis.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+redisTemplate, k8sRedisYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+redisTemplate, k8sRedisYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -776,7 +776,7 @@ func (op *AgentOsOperator) deployIngress(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sIngressYamlFile := "/root/wdd/install/k8s-ingress.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+ingressTemplate, k8sIngressYamlFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+ingressTemplate, k8sIngressYamlFile)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -840,7 +840,7 @@ func (op *AgentOsOperator) deployFront(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sFrontYamlFilePath := "/root/wdd/install/k8s-front.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+fontTemplate, k8sFrontYamlFilePath)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+fontTemplate, k8sFrontYamlFilePath)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -962,7 +962,7 @@ func (op *AgentOsOperator) deploySRS(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sSRSYamlFilePath := "/root/wdd/install/k8s-srs.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+srsTemplate, k8sSRSYamlFilePath)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+srsTemplate, k8sSRSYamlFilePath)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -1075,7 +1075,7 @@ func (op *AgentOsOperator) deployBackend(funcArgs []string) (bool, []string) {
|
||||
|
||||
// 下载模板文件
|
||||
k8sBackendYamlFilePath := "/root/wdd/install/k8s-backend.yaml"
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+backendTemplate, k8sBackendYamlFilePath)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+backendTemplate, k8sBackendYamlFilePath)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
|
||||
@@ -367,11 +367,11 @@ func (op *AgentOsOperator) installDefaultSSHKeyExec(funcArgs []string) (bool, []
|
||||
}
|
||||
|
||||
// download standard private and public key
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+"id_ed25519_private_key", "/root/.ssh/id_ed25519")
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+"id_ed25519_private_key", "/root/.ssh/id_ed25519")
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
ok, resultLog = BasicDownloadFile(op.OssOfflinePrefix+"id_ed25519_public_key.pub", "/root/.ssh/id_ed25519.pub")
|
||||
ok, resultLog = BasicDownloadFileByCurl(op.OssOfflinePrefix+"id_ed25519_public_key.pub", "/root/.ssh/id_ed25519.pub")
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -841,7 +841,7 @@ func (op *AgentOsOperator) installDockerOfflineExec(args []string) (bool, []stri
|
||||
dockerOfflineFileName = "docker-arm64-20.10.15.tgz"
|
||||
}
|
||||
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+dockerOfflineFileName, "/root/wdd/"+dockerOfflineFileName)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+dockerOfflineFileName, "/root/wdd/"+dockerOfflineFileName)
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -864,17 +864,17 @@ func (op *AgentOsOperator) installDockerOfflineExec(args []string) (bool, []stri
|
||||
}
|
||||
|
||||
// systemd daemonize docker
|
||||
downloadOk, log2 := BasicDownloadFile(op.OssOfflinePrefix+"docker-containerd-daemon.service", "/lib/systemd/system/containerd.service")
|
||||
downloadOk, log2 := BasicDownloadFileByCurl(op.OssOfflinePrefix+"docker-containerd-daemon.service", "/lib/systemd/system/containerd.service")
|
||||
if !downloadOk {
|
||||
return false, append(log2, "[installDockerOfflineExec] - daemon file download error !")
|
||||
}
|
||||
|
||||
downloadOk, log2 = BasicDownloadFile(op.OssOfflinePrefix+"docker-socket-daemon.service", "/lib/systemd/system/docker.socket")
|
||||
downloadOk, log2 = BasicDownloadFileByCurl(op.OssOfflinePrefix+"docker-socket-daemon.service", "/lib/systemd/system/docker.socket")
|
||||
if !downloadOk {
|
||||
return false, append(log2, "[installDockerOfflineExec] - daemon file download error !")
|
||||
}
|
||||
|
||||
downloadOk, log2 = BasicDownloadFile(op.OssOfflinePrefix+"docker-daemon.service", "/lib/systemd/system/docker.service")
|
||||
downloadOk, log2 = BasicDownloadFileByCurl(op.OssOfflinePrefix+"docker-daemon.service", "/lib/systemd/system/docker.service")
|
||||
if !downloadOk {
|
||||
return false, append(log2, "[installDockerOfflineExec] - daemon file download error !")
|
||||
}
|
||||
@@ -1006,7 +1006,7 @@ func (op *AgentOsOperator) installDockerComposeExec() (bool, []string) {
|
||||
|
||||
log.InfoF("需要安装的docker版本为 => %s", DockerComposeFile)
|
||||
|
||||
ok, resultLog := BasicDownloadFile(DockerComposeFile, "/usr/local/bin/docker-compose")
|
||||
ok, resultLog := BasicDownloadFileByCurl(DockerComposeFile, "/usr/local/bin/docker-compose")
|
||||
if !ok {
|
||||
return false, resultLog
|
||||
}
|
||||
@@ -1160,7 +1160,7 @@ func (op *AgentOsOperator) modifyDockerConfigExec(args []string) (bool, []string
|
||||
}
|
||||
|
||||
// download new
|
||||
ok, resultLog := BasicDownloadFile(op.OssOfflinePrefix+"docker-daemon-template.json", dockerDaemonFile)
|
||||
ok, resultLog := BasicDownloadFileByCurl(op.OssOfflinePrefix+"docker-daemon-template.json", dockerDaemonFile)
|
||||
if !ok {
|
||||
return false, append(resultLog, "[modifyDockerConfigExec] - error download docker-daemon-template.json !")
|
||||
}
|
||||
@@ -1247,7 +1247,7 @@ func (op *AgentOsOperator) installNFSOfflineExec() (bool, []string) {
|
||||
nfsClientOfflinePackageOSSUrl := op.OssOfflinePrefix + nfsClientOfflinePackageName
|
||||
log.InfoF("[installNFSOfflineExec]- start to download nfs-client offline package from => %s", nfsClientOfflinePackageOSSUrl)
|
||||
|
||||
ok, resultLog := BasicDownloadFile(nfsClientOfflinePackageOSSUrl, "/root/wdd/"+nfsClientOfflinePackageName)
|
||||
ok, resultLog := BasicDownloadFileByCurl(nfsClientOfflinePackageOSSUrl, "/root/wdd/"+nfsClientOfflinePackageName)
|
||||
if !ok {
|
||||
return false, append(resultLog, "[installNFSOfflineExec]- download nfs-client offline package error !", nfsClientOfflinePackageOSSUrl)
|
||||
}
|
||||
@@ -1377,7 +1377,7 @@ func (op *AgentOsOperator) installNFSServerOfflineExec() (bool, []string) {
|
||||
// download from oss
|
||||
nfsServerOfflinePackageOSSUrl := op.OssOfflinePrefix + nfsServerOfflinePackageName
|
||||
log.InfoF("[installNFSServerOfflineExec]- start to download nfs-server offline package from => %s", nfsServerOfflinePackageOSSUrl)
|
||||
ok, resultLog := BasicDownloadFile(nfsServerOfflinePackageOSSUrl, "/root/wdd/"+nfsServerOfflinePackageName)
|
||||
ok, resultLog := BasicDownloadFileByCurl(nfsServerOfflinePackageOSSUrl, "/root/wdd/"+nfsServerOfflinePackageName)
|
||||
if !ok {
|
||||
return false, append(resultLog, "[installNFSServerOfflineExec]- download nfs-server offline package error !", nfsServerOfflinePackageOSSUrl)
|
||||
}
|
||||
@@ -1584,7 +1584,7 @@ func (op *AgentOsOperator) installHarborExec() (bool, []string) {
|
||||
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")
|
||||
downloadOk, l := BasicDownloadFileByCurl(harborOfflineFileURL, "/root/wdd/harbor-offline-installer-v2.9.0.tgz")
|
||||
if !downloadOk {
|
||||
return false, append(l, "download harbor offline installer failed!")
|
||||
}
|
||||
@@ -2291,7 +2291,7 @@ func (op *AgentOsOperator) installZSHExec() (bool, []string) {
|
||||
}
|
||||
log.InfoF("开始下载zsh的安装脚本 => %s", zshRemoteGitUrl)
|
||||
|
||||
resultOk, l := BasicDownloadFile(zshRemoteGitUrl, "/root/wdd/zsh-install.sh")
|
||||
resultOk, l := BasicDownloadFileByCurl(zshRemoteGitUrl, "/root/wdd/zsh-install.sh")
|
||||
if !resultOk {
|
||||
l = append(l, "zsh-install.sh 下载失败! 安装终止")
|
||||
return false, l
|
||||
|
||||
@@ -4,7 +4,10 @@ import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"golang.org/x/net/proxy"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
@@ -511,8 +514,75 @@ func BasicConvertBufferToSlice(outputBuffer bytes.Buffer) (resultLog []string) {
|
||||
|
||||
}
|
||||
|
||||
// BasicDownloadFile 从目标地址下载文件到目的地,并检测文件是否下载成功
|
||||
func BasicDownloadFile(downloadUrl, desFile string) (downloadOk bool, resultLog []string) {
|
||||
func BasicDownloadFile(downloadUrl string, socksProxyUrl string, proxyUser string, proxyPass string, desFile string) (downloadOk bool, resultLog []string) {
|
||||
// 解析下载URL
|
||||
_, err := url.Parse(downloadUrl)
|
||||
if err != nil {
|
||||
resultLog = append(resultLog, "Error parsing download URL: "+err.Error())
|
||||
return false, resultLog
|
||||
}
|
||||
|
||||
// 创建文件
|
||||
out, err := os.Create(desFile)
|
||||
if err != nil {
|
||||
resultLog = append(resultLog, "Error creating file: "+err.Error())
|
||||
return false, resultLog
|
||||
}
|
||||
defer out.Close()
|
||||
|
||||
// 创建HTTP客户端
|
||||
client := &http.Client{}
|
||||
|
||||
// 如果提供了代理URL
|
||||
if socksProxyUrl != "" {
|
||||
// 解析代理URL
|
||||
parsedProxyUrl, err := url.Parse(socksProxyUrl)
|
||||
if err != nil {
|
||||
resultLog = append(resultLog, "Error parsing proxy URL: "+err.Error())
|
||||
return false, resultLog
|
||||
}
|
||||
|
||||
// 使用SOCKS5代理
|
||||
auth := &proxy.Auth{User: proxyUser, Password: proxyPass}
|
||||
dialer, err := proxy.SOCKS5("tcp", parsedProxyUrl.Host, auth, proxy.Direct)
|
||||
if err != nil {
|
||||
resultLog = append(resultLog, "Error creating SOCKS5 dialer: "+err.Error())
|
||||
return false, resultLog
|
||||
}
|
||||
|
||||
// 设置HTTP和HTTPS代理
|
||||
httpTransport := &http.Transport{
|
||||
Dial: dialer.Dial,
|
||||
}
|
||||
client.Transport = httpTransport
|
||||
}
|
||||
|
||||
// 发送HTTP GET请求
|
||||
resp, err := client.Get(downloadUrl)
|
||||
if err != nil {
|
||||
resultLog = append(resultLog, "Error making GET request: "+err.Error())
|
||||
return false, resultLog
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
// 检查HTTP响应状态码
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
resultLog = append(resultLog, "Server returned HTTP status "+resp.Status)
|
||||
return false, resultLog
|
||||
}
|
||||
|
||||
// 将HTTP响应内容写入文件
|
||||
_, err = io.Copy(out, resp.Body)
|
||||
if err != nil {
|
||||
resultLog = append(resultLog, "Error writing to file: "+err.Error())
|
||||
return false, resultLog
|
||||
}
|
||||
|
||||
return true, resultLog
|
||||
}
|
||||
|
||||
// BasicDownloadFileByCurl 从目标地址下载文件到目的地,并检测文件是否下载成功
|
||||
func BasicDownloadFileByCurl(downloadUrl, desFile string) (downloadOk bool, resultLog []string) {
|
||||
|
||||
// wget or curl download
|
||||
var ok bool
|
||||
@@ -539,14 +609,14 @@ func BasicDownloadFile(downloadUrl, desFile string) (downloadOk bool, resultLog
|
||||
})
|
||||
|
||||
} else {
|
||||
sprintf := fmt.Sprintf("[BasicDownloadFile] - neither wget or curl exists ! can't download file [ %s ] from [ %s ]", desFile, downloadUrl)
|
||||
sprintf := fmt.Sprintf("[BasicDownloadFileByCurl] - neither wget or curl exists ! can't download file [ %s ] from [ %s ]", desFile, downloadUrl)
|
||||
log.Error(sprintf)
|
||||
return false, []string{
|
||||
sprintf,
|
||||
}
|
||||
}
|
||||
|
||||
errLog := fmt.Sprintf("[BasicDownloadFile] - download file [ %s ] from [ %s ] failed !", desFile, downloadUrl)
|
||||
errLog := fmt.Sprintf("[BasicDownloadFileByCurl] - download file [ %s ] from [ %s ] failed !", desFile, downloadUrl)
|
||||
if !ok {
|
||||
log.Error(errLog)
|
||||
return false, []string{
|
||||
@@ -558,7 +628,7 @@ func BasicDownloadFile(downloadUrl, desFile string) (downloadOk bool, resultLog
|
||||
if !existAndNotNull {
|
||||
return false, []string{
|
||||
errLog,
|
||||
"[BasicDownloadFile] - file not exist !",
|
||||
"[BasicDownloadFileByCurl] - file not exist !",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -598,7 +668,7 @@ func BasicDownloadFileWithProxy(downloadUrl, proxyUrl, desFile string) (download
|
||||
if !existAndNotNull {
|
||||
return false, []string{
|
||||
errLog,
|
||||
"[BasicDownloadFile] - file not exist !",
|
||||
"[BasicDownloadFileByCurl] - file not exist !",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ import (
|
||||
)
|
||||
|
||||
var LocalGzipImageFolderPrefix = "/var/lib/docker/image_sync/"
|
||||
var DefaultSocks5ProxyUser = "zeaslity"
|
||||
var DefaultSocks5ProxyPass = "password"
|
||||
|
||||
func (op *AgentOsOperator) Sync(baseFuncName string, funcArgs ...string) (bool, []string) {
|
||||
resultOk := false
|
||||
@@ -185,14 +187,15 @@ func (op *AgentOsOperator) downloadGzipImageFile(funcArgs []string) (bool, []str
|
||||
}
|
||||
}
|
||||
|
||||
var download bool
|
||||
var downloadLog []string
|
||||
if proxyUrl == "" {
|
||||
download, downloadLog = BasicDownloadFile(ossUrlPrefix+gzipImageFromFullName, desFile)
|
||||
} else {
|
||||
download, downloadLog = BasicDownloadFileWithProxy(ossUrlPrefix+gzipImageFromFullName, proxyUrl, desFile)
|
||||
}
|
||||
//var download bool
|
||||
//var downloadLog []string
|
||||
//if proxyUrl == "" {
|
||||
// download, downloadLog = BasicDownloadFileByCurl(ossUrlPrefix+gzipImageFromFullName, desFile)
|
||||
//} else {
|
||||
// = BasicDownloadFileWithProxy(ossUrlPrefix+gzipImageFromFullName, proxyUrl, desFile)
|
||||
//}
|
||||
|
||||
download, downloadLog := BasicDownloadFile(ossUrlPrefix+gzipImageFromFullName, proxyUrl, DefaultSocks5ProxyUser, DefaultSocks5ProxyPass, desFile)
|
||||
if !download {
|
||||
return false, downloadLog
|
||||
}
|
||||
@@ -269,7 +272,7 @@ func (op *AgentOsOperator) pushImageToTargetHarbor(funcArgs []string) (bool, []s
|
||||
}
|
||||
func (op *AgentOsOperator) updateImageTag(funcArgs []string) (bool, []string) {
|
||||
namespace := funcArgs[6]
|
||||
targetImageFullName := funcArgs[7]
|
||||
//targetImageFullName := funcArgs[7]
|
||||
proxyUrl := funcArgs[4]
|
||||
if !BasicCommandExistByPath("kubectl") {
|
||||
return false, []string{
|
||||
@@ -291,28 +294,26 @@ func (op *AgentOsOperator) updateImageTag(funcArgs []string) (bool, []string) {
|
||||
updateFileName := "update-app-tag.sh"
|
||||
if !BasicFileExistAndNotNull(folderPrefix + updateFileName) {
|
||||
// kubectl update tag file not exits!
|
||||
var download bool
|
||||
var downloadLog []string
|
||||
if proxyUrl == "" {
|
||||
download, downloadLog = BasicDownloadFile(AgentOsOperatorCache.OssOfflinePrefix+updateFileName, folderPrefix+updateFileName)
|
||||
} else {
|
||||
download, downloadLog = BasicDownloadFileWithProxy(AgentOsOperatorCache.OssOfflinePrefix+updateFileName, proxyUrl, folderPrefix+updateFileName)
|
||||
}
|
||||
download, downloadLog := BasicDownloadFile(AgentOsOperatorCache.OssOfflinePrefix+updateFileName, proxyUrl, DefaultSocks5ProxyUser, DefaultSocks5ProxyPass, folderPrefix+updateFileName)
|
||||
|
||||
if !download {
|
||||
return false, downloadLog
|
||||
}
|
||||
}
|
||||
|
||||
updateCommand := "kubectl -n " + namespace + " patch deployment " + appName + "-p \"{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\": " + appName + ",\"image\": " + targetImageFullName + "}]}}}}"
|
||||
PureResultSingleExecute([]string{
|
||||
"chomd",
|
||||
"+x",
|
||||
folderPrefix + updateFileName,
|
||||
})
|
||||
|
||||
newTag := image.ImageFullNameToImageTag(imageFullName)
|
||||
log.InfoF("start do update %s %s to %s", namespace, appName, newTag)
|
||||
updateCommand := "bash " + folderPrefix + updateFileName + namespace + appName + newTag
|
||||
executor, i := HardCodeCommandExecutor(updateCommand)
|
||||
if !executor {
|
||||
return false, i
|
||||
}
|
||||
|
||||
return true, nil
|
||||
return true, i
|
||||
}
|
||||
|
||||
//func BuildGzipImageFromFullName(imageFullName string) string {
|
||||
//
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user