Files
ProjectOctopus/cmii_operator/CmiiOperator.go
2024-01-24 13:53:05 +08:00

58 lines
1.3 KiB
Go

package cmii_operator
import (
"errors"
"os"
"strings"
"wdd.io/agent-go/executor"
"wdd.io/agent-go/utils"
)
func FetchDemoImages(projectName, projectFolderPath string) bool {
if !strings.HasSuffix(projectFolderPath, "/") {
projectFolderPath += "/"
}
// generate a project folder
err := os.Mkdir(projectFolderPath, os.ModeDir)
if err != nil {
if !errors.Is(err, os.ErrExist) {
log.ErrorF("[FetchDemoImages] - create folder of %s error %s", projectFolderPath, err.Error())
return false
}
}
// get demo image version map
backendMap, frontendMap := BackupAllCmiiDeploymentToMap(demo)
utils.BeautifulPrint(backendMap)
utils.BeautifulPrint(frontendMap)
// save map to file
backendMapFile := projectFolderPath + projectName + "-backend-app.json"
frontendMapFile := projectFolderPath + projectName + "-frontend-app.json"
_ = os.Remove(backendMapFile)
_ = os.Remove(frontendMapFile)
executor.BasicAppendContentToFile(
utils.BeautifulPrintToString(backendMap),
backendMapFile,
)
executor.BasicAppendContentToFile(
utils.BeautifulPrintToString(frontendMap),
frontendMapFile,
)
// download image
ImagePullFromCmiiHarborByMap(backendMap, true)
ImagePullFromCmiiHarborByMap(frontendMap, true)
// compress image
// upload to harbor
// clean up images
return false
}