[agent-operator] - image bastion mode
This commit is contained in:
@@ -168,6 +168,7 @@ func TagFromSourceToTarget(sourceImageName, targetImageName string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
sourceImageName = getByName.RepoTags[0]
|
||||
err := apiClient.ImageTag(context.TODO(), sourceImageName, targetImageName)
|
||||
if err != nil {
|
||||
log.ErrorF("[ImageTagFromSourceToTarget] - from %s to %s error %s", sourceImageName, targetImageName, err.Error())
|
||||
@@ -208,41 +209,47 @@ func TagFromListAndPushToCHarbor(referenceImageList []string, targetHarborHost s
|
||||
cmiiImageFullName := imageName
|
||||
|
||||
if strings.HasPrefix(imageName, "cmii") {
|
||||
// cmii-uav-gateway:v1.0.0 短名称的形式
|
||||
cmiiImageFullName = image2.CmiiHarborPrefix + imageName
|
||||
}
|
||||
|
||||
targetProject := "cmii"
|
||||
if strings.HasPrefix(imageName, "rancher") {
|
||||
// rancher/rancher:v2.5.7 rancher名称的形式
|
||||
targetProject = "rancher"
|
||||
}
|
||||
|
||||
// referenceImageList 存储的是全名称的形式
|
||||
if strings.HasPrefix(imageName, image2.CmiiHarborPrefix) {
|
||||
//
|
||||
// harbor.cdcyy.cn/cmii/cmii-uav-gateway:v1.0.0 全名称的形式 需要拿到短名称
|
||||
imageName = strings.TrimPrefix(imageName, image2.CmiiHarborPrefix)
|
||||
} else {
|
||||
// todo
|
||||
if strings.Contains(imageName, "/") {
|
||||
imageName = strings.Split(imageName, "/")[1]
|
||||
// 10.250.0.10:8033/cmii/cmii-uav-gateway:v1.0.0
|
||||
|
||||
if strings.Contains(imageName, ":8033") {
|
||||
imageName = strings.TrimLeft(imageName, ":8033")
|
||||
}
|
||||
}
|
||||
|
||||
targetImageName := targetHarborHost + ":8033/" + targetProject + "/" + imageName
|
||||
fmt.Println(cmiiImageFullName)
|
||||
fmt.Println(targetImageName)
|
||||
|
||||
if TagFromSourceToTarget(cmiiImageFullName, targetImageName) {
|
||||
pushResult := PushToOctopusKindHarbor(targetImageName)
|
||||
if pushResult == nil {
|
||||
errorPushImageNameList = append(errorPushImageNameList, cmiiImageFullName)
|
||||
log.InfoF("[ImageTagFromListAndPushToCHarbor] - push of %s error error !", targetImageName)
|
||||
break
|
||||
}
|
||||
scanner := bufio.NewScanner(pushResult)
|
||||
for scanner.Scan() {
|
||||
|
||||
}
|
||||
log.InfoF("[ImageTagFromListAndPushToCHarbor] - push of %s success!", targetImageName)
|
||||
} else {
|
||||
errorPushImageNameList = append(errorPushImageNameList, cmiiImageFullName)
|
||||
}
|
||||
//if TagFromSourceToTarget(cmiiImageFullName, targetImageName) {
|
||||
// pushResult := PushToOctopusKindHarbor(targetImageName)
|
||||
// if pushResult == nil {
|
||||
// errorPushImageNameList = append(errorPushImageNameList, cmiiImageFullName)
|
||||
// log.InfoF("[ImageTagFromListAndPushToCHarbor] - push of %s error error !", targetImageName)
|
||||
// break
|
||||
// }
|
||||
// scanner := bufio.NewScanner(pushResult)
|
||||
// for scanner.Scan() {
|
||||
//
|
||||
// }
|
||||
// log.InfoF("[ImageTagFromListAndPushToCHarbor] - push of %s success!", targetImageName)
|
||||
//} else {
|
||||
// errorPushImageNameList = append(errorPushImageNameList, cmiiImageFullName)
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
@@ -361,6 +368,7 @@ func PullFromListAndCompressSplit(fullImageNameList []string, gzipFolder string)
|
||||
return errorPullImageList, errorGzipImageList
|
||||
}
|
||||
|
||||
// LoadFromGzipFilePath 根据Gzip文件的全名称进行Load操作
|
||||
func LoadFromGzipFilePath(gzipFullPath string) bool {
|
||||
openFile, err := os.OpenFile(gzipFullPath, 0, fs.ModePerm)
|
||||
if err != nil {
|
||||
@@ -386,6 +394,7 @@ func LoadFromGzipFilePath(gzipFullPath string) bool {
|
||||
}
|
||||
|
||||
func LoadFromFolderPath(folderPath string) (errorLoadImageNameList []string) {
|
||||
|
||||
if !strings.HasSuffix(folderPath, "/") {
|
||||
folderPath += "/"
|
||||
}
|
||||
|
||||
@@ -99,7 +99,8 @@ func TestImagePushToOctopusKindHarbor(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestImageLoadFromFile(t *testing.T) {
|
||||
loadFromFile := LoadFromGzipFilePath("/root/octopus_image/cqga/cqga/cmlc=cmii=cmii-uav-user=5.2.0.tar.gz")
|
||||
|
||||
loadFromFile := LoadFromGzipFilePath("/root/cmlc=cmii=srs=v5.0.195.tar.gz")
|
||||
|
||||
assert.Equal(t, loadFromFile, true, "image load error !")
|
||||
}
|
||||
@@ -126,9 +127,11 @@ func TestImageFullNameToGzipFileName(t *testing.T) {
|
||||
"busybox",
|
||||
}
|
||||
|
||||
test = append(test, MiddlewareAmd64...)
|
||||
|
||||
for _, s := range test {
|
||||
gzipFileName := image.ImageFullNameToGzipFileName(s)
|
||||
fmt.Printf(" %s to %s \n", s, gzipFileName)
|
||||
fmt.Println(gzipFileName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user