[Cmii][ImageSync] - DCU part ok
This commit is contained in:
@@ -2,7 +2,6 @@ package main
|
||||
|
||||
import (
|
||||
"github.com/minio/minio-go"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -20,6 +19,16 @@ type CmiiMinioOperator struct {
|
||||
OctopusBucketName string
|
||||
}
|
||||
|
||||
var DefaultCmiiMinioOperator = newInstance()
|
||||
|
||||
func newInstance() *CmiiMinioOperator {
|
||||
op := &CmiiMinioOperator{}
|
||||
|
||||
op.buildCmiiMinioOperator()
|
||||
|
||||
return op
|
||||
}
|
||||
|
||||
const (
|
||||
DefaultLocalEndpoint = "10.250.0.100:9000"
|
||||
DefaultPublicEndpoint = "42.192.52.227:9000"
|
||||
@@ -29,7 +38,7 @@ const (
|
||||
DefaultOctopusBucketName = "octopus"
|
||||
)
|
||||
|
||||
func (op CmiiMinioOperator) buildCmiiMinioOperator() {
|
||||
func (op *CmiiMinioOperator) buildCmiiMinioOperator() {
|
||||
|
||||
var err error
|
||||
if op.LocalClient == nil {
|
||||
@@ -50,7 +59,7 @@ func (op CmiiMinioOperator) buildCmiiMinioOperator() {
|
||||
|
||||
if op.DemoClient == nil {
|
||||
// 初始化Minio客户端对象。
|
||||
op.DemoClient, err = minio.New(DemoEndpoint, DefaultAccessKeyID, DefaultSecretAccessKey, false)
|
||||
op.DemoClient, err = minio.New(DemoEndpoint, DefaultAccessKeyID, DefaultSecretAccessKey, true)
|
||||
if err != nil {
|
||||
log.ErrorF("[buildCmiiMinioOperator] - build for DemoClient error ! => %s", err.Error())
|
||||
}
|
||||
@@ -59,43 +68,45 @@ func (op CmiiMinioOperator) buildCmiiMinioOperator() {
|
||||
log.DebugF("[buildCmiiMinioOperator] - build client success !")
|
||||
}
|
||||
|
||||
func (op CmiiMinioOperator) UploadToLocalOctopus(filePath, fileName string) bool {
|
||||
op.buildCmiiMinioOperator()
|
||||
func (op *CmiiMinioOperator) UploadToLocalOctopus(filePath, fileName string) bool {
|
||||
return op.uploadToOctopus(op.LocalClient, filePath, fileName)
|
||||
}
|
||||
|
||||
func (op CmiiMinioOperator) UploadToPublicOctopus(filePath, fileName string) bool {
|
||||
func (op *CmiiMinioOperator) UploadToPublicOctopus(filePath, fileName string) bool {
|
||||
|
||||
op.buildCmiiMinioOperator()
|
||||
return op.uploadToOctopus(op.PublicClient, filePath, fileName)
|
||||
}
|
||||
|
||||
func (op CmiiMinioOperator) UploadToDemo(bucketName, filePath, fileName string) bool {
|
||||
func (op *CmiiMinioOperator) UploadToDemo(bucketName, filePath, fileName string) bool {
|
||||
|
||||
op.buildCmiiMinioOperator()
|
||||
return op.uploadToOss(op.DemoClient, bucketName, filePath, fileName)
|
||||
}
|
||||
|
||||
func (op CmiiMinioOperator) uploadToOctopus(client *minio.Client, filePath, fileName string) bool {
|
||||
func (op *CmiiMinioOperator) uploadToOctopus(client *minio.Client, filePath, fileName string) bool {
|
||||
|
||||
return op.uploadToOss(client, DefaultOctopusBucketName, filePath, fileName)
|
||||
}
|
||||
|
||||
func (op CmiiMinioOperator) uploadToOss(client *minio.Client, bucketName, filePath, fileName string) bool {
|
||||
func (op *CmiiMinioOperator) uploadToOss(client *minio.Client, bucketName, filePath, fileName string) bool {
|
||||
|
||||
if !strings.HasSuffix(filePath, "/") {
|
||||
filePath += "/"
|
||||
}
|
||||
|
||||
// 打开要上传的文件
|
||||
file, err := os.Open(filePath + fileName)
|
||||
if err != nil {
|
||||
log.ErrorF("[uploadToOss] - file %s open error! %s", filePath+fileName, err.Error())
|
||||
realFileName := fileName
|
||||
// 解析bucket上传的真实名称
|
||||
if strings.Contains(bucketName, "/") {
|
||||
splitN := strings.SplitN(bucketName, "/", 2)
|
||||
bucketName = splitN[0]
|
||||
if !strings.HasSuffix(splitN[1], "/") {
|
||||
splitN[1] = splitN[1] + "/"
|
||||
}
|
||||
realFileName = splitN[1] + fileName
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 使用PutObject上传文件
|
||||
n, err := client.PutObject(bucketName, fileName, file, -1, minio.PutObjectOptions{})
|
||||
// realFileName ==> tmp/123/123.txt
|
||||
n, err := client.FPutObject(bucketName, realFileName, filePath+fileName, minio.PutObjectOptions{})
|
||||
if err != nil {
|
||||
log.ErrorF("[uploadToOss] - upload %s error %s", filePath+fileName, err.Error())
|
||||
return false
|
||||
|
||||
@@ -3,8 +3,7 @@ package main
|
||||
import "testing"
|
||||
|
||||
func TestCmiiMinioOperator_UploadToDemo(t *testing.T) {
|
||||
operator := &CmiiMinioOperator{}
|
||||
|
||||
operator.UploadToDemo("cmlc-installation/tmp/", " C:\\Users\\wddsh\\Downloads", "kodibot-win-x64.zip")
|
||||
DefaultCmiiMinioOperator.UploadToDemo("cmlc-installation", "/home/wdd/Downloads/", "go1.22.1.linux-amd64.tar.gz")
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user