[ Cmii ] [ Octopus ] - project a lot
This commit is contained in:
@@ -3,8 +3,10 @@ package cmii_operator
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
"strings"
|
||||
"wdd.io/agent-go/executor"
|
||||
"wdd.io/agent-go/utils"
|
||||
"wdd.io/cmii_operator/image"
|
||||
)
|
||||
|
||||
const OfflineImageGzipFolderPrefix = "/root/octopus_image/"
|
||||
@@ -15,7 +17,7 @@ const DirectPushDeployHarborHost = "36.134.28.60"
|
||||
func FetchDemoImages(projectName string, gzipSplit bool) (errorPullImageList, errorGzipImageList []string) {
|
||||
|
||||
// generate a project folder
|
||||
err := os.Mkdir(OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
||||
err := os.MkdirAll(OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
||||
if err != nil {
|
||||
if !errors.Is(err, os.ErrExist) {
|
||||
log.ErrorF("[FetchDemoImages] - create folder of %s error %s", OfflineImageGzipFolderPrefix+projectName, err.Error())
|
||||
@@ -24,16 +26,19 @@ func FetchDemoImages(projectName string, gzipSplit bool) (errorPullImageList, er
|
||||
}
|
||||
|
||||
// get demo image version map
|
||||
backendMap, frontendMap := BackupAllCmiiDeploymentToMap(demo)
|
||||
backendMap, frontendMap, srsMap := BackupAllCmiiDeploymentToMap(demo)
|
||||
|
||||
utils.BeautifulPrint(backendMap)
|
||||
utils.BeautifulPrint(frontendMap)
|
||||
utils.BeautifulPrint(srsMap)
|
||||
|
||||
// save map to file
|
||||
backendMapFile := OfflineImageGzipFolderPrefix + projectName + "-backend-app.json"
|
||||
frontendMapFile := OfflineImageGzipFolderPrefix + projectName + "-frontend-app.json"
|
||||
srsMapFile := OfflineImageGzipFolderPrefix + projectName + "-srs-app.json"
|
||||
_ = os.Remove(backendMapFile)
|
||||
_ = os.Remove(frontendMapFile)
|
||||
_ = os.Remove(srsMapFile)
|
||||
|
||||
executor.BasicAppendContentToFile(
|
||||
utils.BeautifulPrintToString(backendMap),
|
||||
@@ -43,21 +48,31 @@ func FetchDemoImages(projectName string, gzipSplit bool) (errorPullImageList, er
|
||||
utils.BeautifulPrintToString(frontendMap),
|
||||
frontendMapFile,
|
||||
)
|
||||
executor.BasicAppendContentToFile(
|
||||
utils.BeautifulPrintToString(srsMapFile),
|
||||
srsMapFile,
|
||||
)
|
||||
|
||||
// download image
|
||||
backendPull := ImagePullFromCmiiHarborByMap(backendMap, true)
|
||||
frontendPull := ImagePullFromCmiiHarborByMap(frontendMap, true)
|
||||
backendPull := image.ImagePullFromCmiiHarborByMap(backendMap, true)
|
||||
frontendPull := image.ImagePullFromCmiiHarborByMap(frontendMap, true)
|
||||
srsPull := image.ImagePullFromCmiiHarborByMap(srsMap, true)
|
||||
|
||||
// compress image
|
||||
if gzipSplit {
|
||||
for image, tag := range backendMap {
|
||||
if !ImageSaveToTarGZ(image+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
||||
errorGzipImageList = append(errorGzipImageList, CmiiHarborPrefix+image+":"+tag)
|
||||
for image_name, tag := range backendMap {
|
||||
if !image.SaveToTarGZ(image_name+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
||||
errorGzipImageList = append(errorGzipImageList, image.CmiiHarborPrefix+image_name+":"+tag)
|
||||
}
|
||||
}
|
||||
for image, tag := range frontendMap {
|
||||
if !ImageSaveToTarGZ(image+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
||||
errorGzipImageList = append(errorGzipImageList, CmiiHarborPrefix+image+":"+tag)
|
||||
for image_name, tag := range frontendMap {
|
||||
if !image.SaveToTarGZ(image_name+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
||||
errorGzipImageList = append(errorGzipImageList, image.CmiiHarborPrefix+image_name+":"+tag)
|
||||
}
|
||||
}
|
||||
for image_name, tag := range srsMap {
|
||||
if !image.SaveToTarGZ(image_name+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/") {
|
||||
errorGzipImageList = append(errorGzipImageList, image.CmiiHarborPrefix+image_name+":"+tag)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -67,21 +82,73 @@ func FetchDemoImages(projectName string, gzipSplit bool) (errorPullImageList, er
|
||||
|
||||
errorPullImageList = append(errorPullImageList, backendPull...)
|
||||
errorPullImageList = append(errorPullImageList, frontendPull...)
|
||||
errorPullImageList = append(errorPullImageList, srsPull...)
|
||||
|
||||
return errorPullImageList, errorGzipImageList
|
||||
}
|
||||
|
||||
func FetchVersionImages(cmiiVersion string, gzipSplit bool) (errorPullImageList, errorGzipImageList []string) {
|
||||
|
||||
// generate a project folder
|
||||
err := os.MkdirAll(OfflineImageGzipFolderPrefix+cmiiVersion, os.ModeDir)
|
||||
if err != nil {
|
||||
if !errors.Is(err, os.ErrExist) {
|
||||
log.ErrorF("[FetchDemoImages] - create folder of %s error %s", OfflineImageGzipFolderPrefix+cmiiVersion, err.Error())
|
||||
return errorPullImageList, errorGzipImageList
|
||||
}
|
||||
}
|
||||
|
||||
backendMap := CmiiBackendAppMap
|
||||
frontendMap := CmiiFrontendAppMap
|
||||
|
||||
for app, _ := range backendMap {
|
||||
backendMap[app] = cmiiVersion
|
||||
}
|
||||
for app, _ := range frontendMap {
|
||||
frontendMap[app] = cmiiVersion
|
||||
}
|
||||
|
||||
var allCmiiImageName []string
|
||||
|
||||
allCmiiImageName = append(allCmiiImageName, image.ConvertCMiiImageMapToList(backendMap)...)
|
||||
allCmiiImageName = append(allCmiiImageName, image.ConvertCMiiImageMapToList(frontendMap)...)
|
||||
|
||||
for key, value := range CmiiSrsAppMap {
|
||||
var app *CmiiDeploymentInterface
|
||||
if strings.Contains(value, "deployment") {
|
||||
app = CmiiOperator.DeploymentOneInterface(demo, key)
|
||||
if app != nil {
|
||||
allCmiiImageName = append(allCmiiImageName, app.Image)
|
||||
}
|
||||
} else if strings.Contains(value, "state") {
|
||||
app = CmiiOperator.StatefulSetOneInterface(demo, key)
|
||||
if app != nil {
|
||||
for _, imageName := range app.ContainerImageMap {
|
||||
allCmiiImageName = append(allCmiiImageName, imageName)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
utils.BeautifulPrint(allCmiiImageName)
|
||||
|
||||
// do work
|
||||
errorPullImageList, errorGzipImageList = image.PullFromListAndCompressSplit(allCmiiImageName, OfflineImageGzipFolderPrefix+cmiiVersion)
|
||||
|
||||
return errorPullImageList, errorGzipImageList
|
||||
}
|
||||
|
||||
func FetchDependencyRepos(gzipSplit bool) (errorPullImageList, errorGzipImageList []string) {
|
||||
err := os.Mkdir(OfflineImageGzipFolderPrefix, os.ModeDir)
|
||||
err := os.MkdirAll(OfflineImageGzipFolderPrefix, os.ModeDir)
|
||||
if err != nil {
|
||||
if !errors.Is(err, os.ErrExist) {
|
||||
log.ErrorF("[FetchDependencyRepos] - create folder of %s error %s", OfflineImageGzipFolderPrefix, err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
errorPullImageList, errorGzipImageList = ImagePullFromListAndCompressSplit(MiddlewareAmd64, OfflineImageGzipFolderPrefix+"middle/")
|
||||
errorPullImageList, errorGzipImageList = image.PullFromListAndCompressSplit(image.MiddlewareAmd64, OfflineImageGzipFolderPrefix+"middle/")
|
||||
|
||||
pull, gzipImageList := ImagePullFromListAndCompressSplit(Rancher1204Amd64, OfflineImageGzipFolderPrefix+"rke/")
|
||||
pull, gzipImageList := image.PullFromListAndCompressSplit(image.Rancher1204Amd64, OfflineImageGzipFolderPrefix+"rke/")
|
||||
|
||||
return append(errorPullImageList, pull...), append(errorGzipImageList, gzipImageList...)
|
||||
|
||||
@@ -91,9 +158,9 @@ func LoadSplitGzipImageToTargetHarbor(projectName, targetHarborHost string) (err
|
||||
|
||||
// list folder
|
||||
projectGzipFolder := OfflineImageGzipFolderPrefix + projectName
|
||||
errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(projectGzipFolder)...)
|
||||
errorLoadImageNameList = append(errorLoadImageNameList, image.ImageLoadFromFolderPath(projectGzipFolder)...)
|
||||
// read from json
|
||||
errorPushImageNameList = append(errorPushImageNameList, ImageTagFromListAndPushToCHarbor(Cmii520DemoImageList, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(image.Cmii520DemoImageList, targetHarborHost)...)
|
||||
|
||||
// re-tag
|
||||
// push
|
||||
@@ -111,8 +178,8 @@ func LoadSplitDepGzipImageToTargetHarbor(targetHarborHost string) (errorLoadImag
|
||||
//errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(middle)...)
|
||||
//errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(rke)...)
|
||||
|
||||
errorPushImageNameList = append(errorPushImageNameList, ImageTagFromListAndPushToCHarbor(MiddlewareAmd64, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, ImageTagFromListAndPushToCHarbor(Rancher1204Amd64, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(image.MiddlewareAmd64, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(image.Rancher1204Amd64, targetHarborHost)...)
|
||||
|
||||
return errorLoadImageNameList, errorPushImageNameList
|
||||
|
||||
|
||||
Reference in New Issue
Block a user