优化镜像同步的内容

This commit is contained in:
zeaslity
2026-01-19 10:11:16 +08:00
parent 1d42f28c7e
commit 739cbca267
37 changed files with 11544 additions and 137 deletions

View File

@@ -24,7 +24,7 @@ func TestFetchDependencyRepos_Middle(t *testing.T) {
func TestFetchDependencyRepos_RKE(t *testing.T) {
errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList := C_DownloadCompressUploadDependency(true, false, true)
errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList := C_DownloadCompressUploadDependency(true, true, true)
utils.BeautifulPrintListWithTitle(errorPullImageList, "errorPullImageList")
utils.BeautifulPrintListWithTitle(errorGzipImageList, "errorGzipImageList")
@@ -52,7 +52,7 @@ func TestPullFromEntityAndSyncConditionally(t *testing.T) {
// 全部镜像列表
fullImageList := []string{}
fullImageList = append(fullImageList, real_project.CmiiUas21XAImageList...)
fullImageList = append(fullImageList, real_project.CmiiUas22ImageList...)
fullImageList = append(fullImageList, real_project.CmiiSRSImageList...)
//fullImageList = append(fullImageList, real_project.CmiiDorisImageList...)

View File

@@ -13,7 +13,6 @@ import (
"regexp"
"strconv"
"strings"
"time"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
@@ -265,17 +264,22 @@ func TagFromListAndPushToCHarbor(referenceImageList []string, targetHarborHost s
return errorPushImageNameList
}
func PullFromCmiiHarbor(imageName string) (pullResult io.ReadCloser) {
pullResult, err := apiClient.ImagePull(context.TODO(), imageName, types.ImagePullOptions{
All: false,
RegistryAuth: "eyAidXNlcm5hbWUiOiAicmFkMDJfZHJvbmUiLCAicGFzc3dvcmQiOiAiRHJvbmVAMTIzNCIsICJlbWFpbCI6ICJpY2VAcXEuY29tIiB9Cg==",
PrivilegeFunc: func() (string, error) {
return "authorization: Basic cmFkMDJfZHJvbmU6RHJvbmVAMTIzNA==", nil
},
Platform: "amd64",
})
func PullFromDockerHub(imageName string) (pullResult io.ReadCloser) {
var imagePullOptions types.ImagePullOptions
if strings.HasPrefix(imageName, image2.CmiiHarborPrefix) {
imagePullOptions = types.ImagePullOptions{
All: false,
RegistryAuth: "eyAidXNlcm5hbWUiOiAicmFkMDJfZHJvbmUiLCAicGFzc3dvcmQiOiAiRHJvbmVAMTIzNCIsICJlbWFpbCI6ICJpY2VAcXEuY29tIiB9Cg==",
PrivilegeFunc: func() (string, error) {
return "authorization: Basic cmFkMDJfZHJvbmU6RHJvbmVAMTIzNA==", nil
},
}
}
pullResult, err := apiClient.ImagePull(context.TODO(), imageName, imagePullOptions)
if err != nil {
log.ErrorF("[ImagePullFromCmiiHarbor]- image pull of %s ,error => %s", imageName, err.Error())
log.ErrorF("[PullFromDockerHub]- image pull of %s ,error => %s", imageName, err.Error())
return nil
}
@@ -305,7 +309,7 @@ func PullCmiiFromFileJson(filePathName string) {
}
for image, tag := range resultMap {
pullResult := PullFromCmiiHarbor(image + ":" + tag)
pullResult := PullFromDockerHub(image + ":" + tag)
if pullResult == nil {
continue
}
@@ -327,19 +331,19 @@ func PullCmiiFromFileJson(filePathName string) {
// PullFromFullNameList 根据镜像名列表拉取全部的镜像
func PullFromFullNameList(fullImageNameList []string) (errorPullImageList []string) {
start := time.Now()
//start := time.Now()
for _, fullImageName := range fullImageNameList {
if !strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
since := time.Since(start)
if since < 60*time.Second {
duration := 60*time.Second - since
log.DebugF("PullFromFullNameList - wait for %s !", duration.String())
time.Sleep(duration)
start = time.Now()
}
}
//if !strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
// since := time.Since(start)
// if since < 90*time.Second {
// duration := 90*time.Second - since
// log.DebugF("PullFromFullNameList - wait for %s !", duration.String())
// time.Sleep(duration)
// start = time.Now()
// }
//}
log.DebugF("start to pull => [%s]", fullImageName)
pullResult := PullFromCmiiHarbor(fullImageName)
pullResult := PullFromDockerHub(fullImageName)
if pullResult == nil {
errorPullImageList = append(errorPullImageList, fullImageName)
continue

View File

@@ -56,7 +56,7 @@ func TestImageDelete(t *testing.T) {
func TestImagePullFromCmiiHarbor(t *testing.T) {
image := "harbor.cdcyy.com.cn/cmii/cmii-uav-gateway:4.1.6-beta"
pullFromCmiiHarbor := PullFromCmiiHarbor(image)
pullFromCmiiHarbor := PullFromDockerHub(image)
defer pullFromCmiiHarbor.Close()
scanner := bufio.NewScanner(pullFromCmiiHarbor)
@@ -162,7 +162,7 @@ func TestSaveSpecificImageToGzipFile(t *testing.T) {
}
for _, imageFullName := range imageFullNameList {
result := PullFromCmiiHarbor(imageFullName)
result := PullFromDockerHub(imageFullName)
if result == nil {
log.ErrorF("image pull error ! => %s", imageFullName)
return