[agent-operator] - fetch from demo
This commit is contained in:
@@ -459,6 +459,7 @@ func BackupAllDeploymentFromEnv(cmiiEnv string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BackupAllCmiiDeploymentToMap 备份DEMO环境全部的镜像名称为Map 包括SRS 前端 后端
|
||||||
func BackupAllCmiiDeploymentToMap(cmiiEnv string) (backendMap, frontendMap, srsMap map[string]string) {
|
func BackupAllCmiiDeploymentToMap(cmiiEnv string) (backendMap, frontendMap, srsMap map[string]string) {
|
||||||
|
|
||||||
allInterface := CmiiOperator.DeploymentAllInterface(cmiiEnv)
|
allInterface := CmiiOperator.DeploymentAllInterface(cmiiEnv)
|
||||||
|
|||||||
@@ -55,21 +55,18 @@ func (sync ImageSyncEntity) PullFromEntityAndSyncConditionally() (imageSyncResul
|
|||||||
// pull images
|
// pull images
|
||||||
// compress
|
// compress
|
||||||
if sync.ProjectVersion != "" {
|
if sync.ProjectVersion != "" {
|
||||||
// get version
|
|
||||||
if sync.DirectHarborHost == "" {
|
// get version images
|
||||||
errorPullImageList, errorGzipImageList, allCmiiImageNameList = DownloadCompressUploadFromVersion(sync.ProjectVersion, true, sync.UploadToDemoMinio)
|
errorPullImageList, errorGzipImageList, allCmiiImageNameList, allGzipFileNameList = DownloadCompressUploadFromVersion(sync.ProjectVersion, sync.CompressImageToGzip, sync.UploadToDemoMinio)
|
||||||
gzipFolderFullPath = OfflineImageGzipFolderPrefix + sync.ProjectVersion
|
|
||||||
} else {
|
gzipFolderFullPath = OfflineImageGzipFolderPrefix + sync.ProjectVersion
|
||||||
errorPullImageList, errorGzipImageList, allCmiiImageNameList = DownloadCompressUploadFromVersion(sync.ProjectVersion, false, sync.UploadToDemoMinio)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// get demo images
|
// get demo images
|
||||||
if sync.DirectHarborHost == "" {
|
|
||||||
errorPullImageList, errorGzipImageList, allCmiiImageNameList = DownloadCompressUploadFromDemo(sync.ProjectName, sync.CompressImageToGzip, sync.UploadToDemoMinio)
|
errorPullImageList, errorGzipImageList, allCmiiImageNameList, allGzipFileNameList = DownloadCompressUploadFromDemo(sync.ProjectName, sync.CompressImageToGzip, sync.UploadToDemoMinio)
|
||||||
gzipFolderFullPath = OfflineImageGzipFolderPrefix + sync.ProjectName
|
gzipFolderFullPath = OfflineImageGzipFolderPrefix + sync.ProjectName
|
||||||
} else {
|
|
||||||
errorPullImageList, errorGzipImageList, allCmiiImageNameList = DownloadCompressUploadFromDemo(sync.ProjectName, false, sync.UploadToDemoMinio)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 拉取特定的镜像
|
// 拉取特定的镜像
|
||||||
@@ -198,23 +195,30 @@ func uploadGzipFileToDemoMinio() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DownloadCompressUploadFromDemo 获取DEMO环境的全部镜像
|
// DownloadCompressUploadFromDemo 获取DEMO环境的全部镜像
|
||||||
func DownloadCompressUploadFromDemo(projectName string, shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList, realCmiiImageName []string) {
|
func DownloadCompressUploadFromDemo(projectName string, shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList []string) {
|
||||||
|
|
||||||
// generate a project folder
|
// generate a project folder
|
||||||
err := os.MkdirAll(OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
err := os.MkdirAll(OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !errors.Is(err, os.ErrExist) {
|
if !errors.Is(err, os.ErrExist) {
|
||||||
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", OfflineImageGzipFolderPrefix+projectName, err.Error())
|
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", OfflineImageGzipFolderPrefix+projectName, err.Error())
|
||||||
return errorPullImageList, errorGzipImageList, realCmiiImageName
|
return errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// get demo image version map
|
// get demo image version map
|
||||||
backendMap, frontendMap, srsMap := BackupAllCmiiDeploymentToMap(demo)
|
allCmiiImageNameListFromDemo := buildAllCmiiImageNameListFromDemo(projectName)
|
||||||
|
|
||||||
utils.BeautifulPrint(backendMap)
|
// do work
|
||||||
utils.BeautifulPrint(frontendMap)
|
// DCU
|
||||||
utils.BeautifulPrint(srsMap)
|
return DownloadCompressUploadFromFullNameList(allCmiiImageNameListFromDemo, shouldGzip, OfflineImageGzipFolderPrefix+projectName, shouldOss)
|
||||||
|
}
|
||||||
|
|
||||||
|
func buildAllCmiiImageNameListFromDemo(projectName string) []string {
|
||||||
|
|
||||||
|
var realCmiiImageName []string
|
||||||
|
|
||||||
|
backendMap, frontendMap, srsMap := BackupAllCmiiDeploymentToMap(demo)
|
||||||
|
|
||||||
// save map to file
|
// save map to file
|
||||||
backendMapFile := OfflineImageGzipFolderPrefix + projectName + "-backend-app.json"
|
backendMapFile := OfflineImageGzipFolderPrefix + projectName + "-backend-app.json"
|
||||||
@@ -224,69 +228,53 @@ func DownloadCompressUploadFromDemo(projectName string, shouldGzip bool, shouldO
|
|||||||
_ = os.Remove(frontendMapFile)
|
_ = os.Remove(frontendMapFile)
|
||||||
_ = os.Remove(srsMapFile)
|
_ = os.Remove(srsMapFile)
|
||||||
|
|
||||||
utils.AppendContentToFile(
|
//utils.AppendContentToFile(
|
||||||
utils.BeautifulPrintToString(backendMap),
|
// utils.BeautifulPrintToString(backendMap),
|
||||||
backendMapFile,
|
// backendMapFile,
|
||||||
)
|
//)
|
||||||
utils.AppendContentToFile(
|
//utils.AppendContentToFile(
|
||||||
utils.BeautifulPrintToString(frontendMap),
|
// utils.BeautifulPrintToString(frontendMap),
|
||||||
frontendMapFile,
|
// frontendMapFile,
|
||||||
)
|
//)
|
||||||
utils.AppendContentToFile(
|
//utils.AppendContentToFile(
|
||||||
utils.BeautifulPrintToString(srsMapFile),
|
// utils.BeautifulPrintToString(srsMapFile),
|
||||||
srsMapFile,
|
// srsMapFile,
|
||||||
)
|
//)
|
||||||
|
|
||||||
// download image
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(backendMap)...)
|
||||||
backendFullNameList, backendPull := image.PullFromCmiiHarborByMap(backendMap, true)
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(frontendMap)...)
|
||||||
frontendFullNameList, frontendPull := image.PullFromCmiiHarborByMap(frontendMap, true)
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(srsMap)...)
|
||||||
srsFullNameList, srsPull := image.PullFromCmiiHarborByMap(srsMap, true)
|
|
||||||
|
|
||||||
realCmiiImageName = append(realCmiiImageName, backendFullNameList...)
|
utils.BeautifulPrintListWithTitle(realCmiiImageName, "Cmii Project Image => "+projectName)
|
||||||
realCmiiImageName = append(realCmiiImageName, frontendFullNameList...)
|
|
||||||
realCmiiImageName = append(realCmiiImageName, srsFullNameList...)
|
|
||||||
|
|
||||||
// compress image
|
return realCmiiImageName
|
||||||
if shouldGzip {
|
|
||||||
for imageName, tag := range backendMap {
|
|
||||||
if !image.SaveToTarGZ(imageName+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
|
||||||
errorGzipImageList = append(errorGzipImageList, image2.CmiiHarborPrefix+imageName+":"+tag)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for imageName, tag := range frontendMap {
|
|
||||||
if !image.SaveToTarGZ(imageName+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
|
||||||
errorGzipImageList = append(errorGzipImageList, image2.CmiiHarborPrefix+imageName+":"+tag)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for imageName, tag := range srsMap {
|
|
||||||
if !image.SaveToTarGZ(imageName+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
|
||||||
errorGzipImageList = append(errorGzipImageList, image2.CmiiHarborPrefix+imageName+":"+tag)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// upload to harbor
|
|
||||||
|
|
||||||
// clean up images
|
|
||||||
|
|
||||||
errorPullImageList = append(errorPullImageList, backendPull...)
|
|
||||||
errorPullImageList = append(errorPullImageList, frontendPull...)
|
|
||||||
errorPullImageList = append(errorPullImageList, srsPull...)
|
|
||||||
|
|
||||||
return errorPullImageList, errorGzipImageList, realCmiiImageName
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// DownloadCompressUploadFromVersion 根据版本下载全部的CMII镜像
|
// DownloadCompressUploadFromVersion 根据版本下载全部的CMII镜像
|
||||||
func DownloadCompressUploadFromVersion(cmiiVersion string, shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList, realCmiiImageName []string) {
|
func DownloadCompressUploadFromVersion(cmiiVersion string, shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList []string) {
|
||||||
|
|
||||||
// generate a project folder
|
// generate a project folder
|
||||||
err := os.MkdirAll(OfflineImageGzipFolderPrefix+cmiiVersion, os.ModeDir)
|
err := os.MkdirAll(OfflineImageGzipFolderPrefix+cmiiVersion, os.ModeDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !errors.Is(err, os.ErrExist) {
|
if !errors.Is(err, os.ErrExist) {
|
||||||
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", OfflineImageGzipFolderPrefix+cmiiVersion, err.Error())
|
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", OfflineImageGzipFolderPrefix+cmiiVersion, err.Error())
|
||||||
return errorPullImageList, errorGzipImageList, realCmiiImageName
|
return errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// build all cmii image name list
|
||||||
|
realCmiiImageName = buildAllCmiiImageNameListFromVersion(cmiiVersion)
|
||||||
|
|
||||||
|
// do work
|
||||||
|
// DCU procedure
|
||||||
|
return DownloadCompressUploadFromFullNameList(realCmiiImageName, shouldGzip, OfflineImageGzipFolderPrefix+cmiiVersion, shouldOss)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func buildAllCmiiImageNameListFromVersion(cmiiVersion string) []string {
|
||||||
|
|
||||||
|
var realCmiiImageName []string
|
||||||
|
|
||||||
backendMap := CmiiBackendAppMap
|
backendMap := CmiiBackendAppMap
|
||||||
frontendMap := CmiiFrontendAppMap
|
frontendMap := CmiiFrontendAppMap
|
||||||
|
|
||||||
@@ -316,17 +304,8 @@ func DownloadCompressUploadFromVersion(cmiiVersion string, shouldGzip bool, shou
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.BeautifulPrintListWithTitle(realCmiiImageName, "Cmii Version Image => "+cmiiVersion)
|
utils.BeautifulPrintListWithTitle(realCmiiImageName, "Cmii Version Image => "+cmiiVersion)
|
||||||
|
return realCmiiImageName
|
||||||
// do work
|
|
||||||
if shouldGzip {
|
|
||||||
errorPullImageList, errorGzipImageList = image.PullFromListAndCompressSplit(realCmiiImageName, OfflineImageGzipFolderPrefix+cmiiVersion)
|
|
||||||
} else {
|
|
||||||
errorPullImageList = image.PullFromFullNameList(realCmiiImageName)
|
|
||||||
}
|
|
||||||
|
|
||||||
return errorPullImageList, errorGzipImageList, realCmiiImageName
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func DownloadCompressUploadDependency(shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList []string) {
|
func DownloadCompressUploadDependency(shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList []string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user