[agent][deploy] - a
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
image2 "wdd.io/agent-common/image"
|
||||
"wdd.io/agent-common/utils"
|
||||
@@ -12,23 +13,38 @@ import (
|
||||
"wdd.io/agent-operator/image"
|
||||
)
|
||||
|
||||
const DeployFilePrefix = "/home/wdd/IdeaProjects/ProjectOctopus/agent-common/real_project/"
|
||||
var DeployFilePrefix = "/home/wdd/IdeaProjects/ProjectOctopus/agent-common/real_project/"
|
||||
|
||||
func CmiiEnvDeploy(deployCommonEnv *z_dep.CommonEnvironmentConfig, shouldDoCompleteDeploy bool, backupFromEnv string) {
|
||||
func init() {
|
||||
switch runtime.GOOS {
|
||||
case "linux":
|
||||
DeployFilePrefix = "/home/wdd/IdeaProjects/ProjectOctopus/agent-common/real_project/"
|
||||
case "windows":
|
||||
DeployFilePrefix = "C:\\Users\\wddsh\\Documents\\IdeaProjects\\ProjectOctopus\\agent-common\\real_project\\"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// CmiiEnvDeploy 根据特定的环境复制一份部署清单,复制Cmii App的部署 shouldDoCompleteDeploy决定是否生成其他的应用
|
||||
func CmiiEnvDeploy(
|
||||
deployCommonEnv *z_dep.CommonEnvironmentConfig,
|
||||
shouldDoCompleteDeploy bool,
|
||||
backupFromEnv string,
|
||||
) {
|
||||
|
||||
folderPrefix := DeployFilePrefix + deployCommonEnv.Namespace + "/"
|
||||
|
||||
tenantEnv := deployCommonEnv.Namespace
|
||||
// uavcloud-devflight ==> devflight
|
||||
// uavcloud-dev ==> dev
|
||||
if strings.Contains(tenantEnv, "-") {
|
||||
split := strings.Split(tenantEnv, "-")
|
||||
tenantEnv = split[len(split)-1]
|
||||
} else {
|
||||
// demo ==> ""
|
||||
// cqlyj ==> ""
|
||||
tenantEnv = ""
|
||||
}
|
||||
//if strings.Contains(tenantEnv, "-") {
|
||||
// split := strings.Split(tenantEnv, "-")
|
||||
// tenantEnv = split[len(split)-1]
|
||||
//} else {
|
||||
// // demo ==> ""
|
||||
// // cqlyj ==> ""
|
||||
// tenantEnv = ""
|
||||
//}
|
||||
|
||||
// assign folder prefix
|
||||
deployCommonEnv.ApplyFilePrefix = folderPrefix
|
||||
|
||||
@@ -48,15 +48,20 @@ func TestCmiiEnvDeploy_ChongQingSanHua(t *testing.T) {
|
||||
|
||||
func TestCmiiEnvDeploy_LiuXiTongGan(t *testing.T) {
|
||||
|
||||
// chongqing sanhua
|
||||
// 刘喜通感
|
||||
// 修改
|
||||
commonEnv := &z_dep.CommonEnvironmentConfig{
|
||||
WebIP: "10.250.0.200",
|
||||
WebPort: "8888",
|
||||
HarborIPOrCustomImagePrefix: "10.250.0.200",
|
||||
HarborPort: "8033",
|
||||
Namespace: "bjtg",
|
||||
Namespace: "xmyd_6.0.0",
|
||||
TagVersion: "5.6.0",
|
||||
TenantEnv: "",
|
||||
MinioPublicIP: "",
|
||||
MinioInnerIP: "",
|
||||
NFSServerIP: "10.250.0.200",
|
||||
ApplyFilePrefix: "",
|
||||
}
|
||||
|
||||
CmiiEnvDeploy(commonEnv, true, demo)
|
||||
@@ -81,6 +86,27 @@ func TestCmiiEnvDeploy_ZheJiangYiDongErJiPingTai(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiEnvDeploy_JiChengCeShiHuanJing(t *testing.T) {
|
||||
|
||||
// 2024上线测试-集成测试环境
|
||||
commonEnv := &z_dep.CommonEnvironmentConfig{
|
||||
WebIP: "integration.uavcmlc.com",
|
||||
WebPort: "",
|
||||
HarborIPOrCustomImagePrefix: image2.CmiiHarborPrefix,
|
||||
HarborPort: "",
|
||||
Namespace: "uavcloud-dev",
|
||||
TagVersion: "6.0.0",
|
||||
TenantEnv: "",
|
||||
MinioPublicIP: "",
|
||||
MinioInnerIP: "minio.ig-dev.uavcmlc.com",
|
||||
NFSServerIP: "10.40.51.5",
|
||||
ApplyFilePrefix: "",
|
||||
}
|
||||
|
||||
CmiiEnvDeploy(commonEnv, false, "")
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiEnvDeploy_JiangSuNanTong(t *testing.T) {
|
||||
|
||||
// 江苏南通
|
||||
@@ -120,6 +146,48 @@ func TestCmiiEnvDeploy_ChongQingErJiPingTai(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiEnvDeploy_YunNanErJiPingTai(t *testing.T) {
|
||||
|
||||
// 江苏南通
|
||||
commonEnv := &z_dep.CommonEnvironmentConfig{
|
||||
WebIP: "36.147.6.78",
|
||||
WebPort: "8088",
|
||||
HarborIPOrCustomImagePrefix: "192.168.118.14",
|
||||
HarborPort: "8033",
|
||||
Namespace: "ynejpt",
|
||||
TagVersion: "5.7.0",
|
||||
TenantEnv: "",
|
||||
MinioPublicIP: "",
|
||||
MinioInnerIP: "192.168.118.15",
|
||||
NFSServerIP: "192.168.118.15",
|
||||
ApplyFilePrefix: "",
|
||||
}
|
||||
|
||||
CmiiEnvDeployOffline(commonEnv, true, real_project.Cmii570ImageList)
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiEnvDeploy_JiLinYiDong(t *testing.T) {
|
||||
|
||||
// 吉林移动
|
||||
commonEnv := &z_dep.CommonEnvironmentConfig{
|
||||
WebIP: "36.135.17.162",
|
||||
WebPort: "8888",
|
||||
HarborIPOrCustomImagePrefix: "172.18.10.251",
|
||||
HarborPort: "8033",
|
||||
Namespace: "jlyd",
|
||||
TagVersion: "5.8.0",
|
||||
TenantEnv: "",
|
||||
MinioPublicIP: "",
|
||||
MinioInnerIP: "192.168.118.15",
|
||||
NFSServerIP: "192.168.118.15",
|
||||
ApplyFilePrefix: "",
|
||||
}
|
||||
|
||||
CmiiEnvDeployOffline(commonEnv, true, real_project.Cmii580ImageList)
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiNewAppDeploy(t *testing.T) {
|
||||
|
||||
deployNamespace := devOperation
|
||||
|
||||
@@ -150,53 +150,56 @@ func TestBackupAllCmiiDeploymentToList(t *testing.T) {
|
||||
func TestUpdateCmiiImageTagFromNameTagMap(t *testing.T) {
|
||||
|
||||
backendMap := map[string]string{
|
||||
"cmii-admin-data": "5.8.0",
|
||||
"cmii-admin-gateway": "5.8.0",
|
||||
"cmii-admin-user": "5.8.0",
|
||||
"cmii-open-gateway": "5.8.0",
|
||||
"cmii-suav-supervision": "5.8.0",
|
||||
"cmii-uav-airspace": "5.8.0",
|
||||
"cmii-uav-alarm": "5.8.0",
|
||||
"cmii-uav-brain": "5.8.0",
|
||||
"cmii-uav-cloud-live": "5.8.0",
|
||||
"cmii-uav-cms": "5.8.0",
|
||||
"cmii-uav-data-post-process": "5.8.0",
|
||||
"cmii-uav-developer": "5.8.0",
|
||||
"cmii-uav-device": "5.8.0",
|
||||
"cmii-uav-emergency": "5.8.0",
|
||||
"cmii-uav-gateway": "5.8.0",
|
||||
"cmii-uav-gis-server": "5.8.0",
|
||||
"cmii-uav-industrial-portfolio": "5.8.0",
|
||||
"cmii-uav-integration": "5.8.0",
|
||||
"cmii-uav-logger": "5.8.0",
|
||||
"cmii-uav-material-warehouse": "5.8.0",
|
||||
"cmii-uav-mission": "5.8.0",
|
||||
"cmii-uav-mqtthandler": "5.8.0",
|
||||
"cmii-uav-notice": "5.8.0",
|
||||
"cmii-uav-oauth": "5.8.0",
|
||||
"cmii-uav-process": "5.8.0",
|
||||
"cmii-uav-surveillance": "5.8.0",
|
||||
"cmii-uav-threedsimulation": "5.8.0",
|
||||
"cmii-uav-tower": "5.8.0",
|
||||
"cmii-uav-user": "5.8.0",
|
||||
"cmii-uav-waypoint": "5.8.0",
|
||||
"cmii-uav-sense-adapter": "5.8.0",
|
||||
"cmii-uav-multilink": "5.8.0",
|
||||
"cmii-admin-data": "6.0.0",
|
||||
"cmii-admin-gateway": "6.0.0",
|
||||
"cmii-admin-user": "6.0.0",
|
||||
"cmii-open-gateway": "6.0.0",
|
||||
"cmii-suav-supervision": "6.0.0",
|
||||
"cmii-uav-airspace": "6.0.0",
|
||||
"cmii-uav-alarm": "6.0.0",
|
||||
"cmii-uav-brain": "6.0.0",
|
||||
"cmii-uav-cloud-live": "6.0.0",
|
||||
"cmii-uav-cms": "6.0.0",
|
||||
"cmii-uav-data-post-process": "6.0.0",
|
||||
"cmii-uav-developer": "6.0.0",
|
||||
"cmii-uav-device": "6.0.0",
|
||||
"cmii-uav-emergency": "6.0.0",
|
||||
"cmii-uav-gateway": "6.0.0",
|
||||
"cmii-uav-gis-server": "6.0.0",
|
||||
"cmii-uav-industrial-portfolio": "6.0.0",
|
||||
"cmii-uav-integration": "6.0.0",
|
||||
"cmii-uav-logger": "6.0.0",
|
||||
"cmii-uav-material-warehouse": "6.0.0",
|
||||
"cmii-uav-mission": "6.0.0",
|
||||
"cmii-uav-mqtthandler": "6.0.0",
|
||||
"cmii-uav-notice": "6.0.0",
|
||||
"cmii-uav-oauth": "6.0.0",
|
||||
"cmii-uav-process": "6.0.0",
|
||||
"cmii-uav-surveillance": "6.0.0",
|
||||
"cmii-uav-threedsimulation": "6.0.0",
|
||||
"cmii-uav-tower": "6.0.0",
|
||||
"cmii-uav-user": "6.0.0",
|
||||
"cmii-uav-waypoint": "6.0.0",
|
||||
"cmii-uav-sense-adapter": "6.0.0",
|
||||
"cmii-uas-lifecycle": "6.0.0",
|
||||
"cmii-uas-gateway": "6.0.0",
|
||||
}
|
||||
|
||||
frontendMap := map[string]string{
|
||||
"cmii-suav-platform-supervision": "5.8.0",
|
||||
"cmii-suav-platform-supervisionh5": "5.8.0",
|
||||
"cmii-uav-platform": "5.8.0",
|
||||
"cmii-uav-platform-media": "5.8.0",
|
||||
"cmii-uav-platform-ai-brain": "5.8.0",
|
||||
"cmii-uav-platform-cms-portal": "5.8.0",
|
||||
"cmii-uav-platform-armypeople": "5.8.0",
|
||||
"cmii-uav-platform-mws": "5.8.0",
|
||||
"cmii-uav-platform-oms": "5.8.0",
|
||||
"cmii-uav-platform-open": "5.8.0",
|
||||
"cmii-uav-platform-securityh5": "5.8.0",
|
||||
"cmii-uav-platform-share": "5.8.0",
|
||||
"cmii-suav-platform-supervision": "6.0.0",
|
||||
"cmii-suav-platform-supervisionh5": "6.0.0",
|
||||
"cmii-uav-platform": "6.0.0",
|
||||
"cmii-uav-platform-media": "6.0.0",
|
||||
"cmii-uav-platform-ai-brain": "6.0.0",
|
||||
"cmii-uav-platform-cms-portal": "6.0.0",
|
||||
"cmii-uav-platform-armypeople": "6.0.0",
|
||||
"cmii-uav-platform-mws": "6.0.0",
|
||||
"cmii-uav-platform-oms": "6.0.0",
|
||||
"cmii-uav-platform-open": "6.0.0",
|
||||
"cmii-uav-platform-securityh5": "6.0.0",
|
||||
"cmii-uav-platform-share": "6.0.0",
|
||||
"cmii-uav-platform-uasms": "6.0.0",
|
||||
"cmii-uav-platform-uas": "6.0.0",
|
||||
//"cmii-uav-platform-base": "5.7.0",
|
||||
//"cmii-uav-platform-detection": "5.7.0",
|
||||
//"cmii-uav-platform-emergency-rescue": "5.7.0",
|
||||
@@ -250,38 +253,31 @@ func TestRestartCmiiDeployment(t *testing.T) {
|
||||
|
||||
func TestUpdateCmiiDeploymentImageTag(t *testing.T) {
|
||||
|
||||
// 计算20:00的时间
|
||||
now := time.Now()
|
||||
//计算20:00的时间
|
||||
|
||||
targetTime := time.Date(now.Year(), now.Month(), now.Day(), 17, 35, 00, 0, now.Location())
|
||||
|
||||
duration := time.Duration(0)
|
||||
|
||||
if !now.After(targetTime) {
|
||||
// 计算到20:00的剩余时间
|
||||
duration = targetTime.Sub(now)
|
||||
} else {
|
||||
// 如果当前时间已经过了20:00,那么就跳到下一天
|
||||
//targetTime = targetTime.Add(24 * time.Hour)
|
||||
}
|
||||
|
||||
fmt.Println(duration)
|
||||
|
||||
// 等待到20:00
|
||||
time.Sleep(duration)
|
||||
//now := time.Now()
|
||||
//
|
||||
//targetTime := time.Date(now.Year(), now.Month(), now.Day(), 17, 55, 00, 0, now.Location())
|
||||
//
|
||||
//duration := time.Duration(0)
|
||||
//
|
||||
//if !now.After(targetTime) {
|
||||
// // 计算到20:00的剩余时间
|
||||
// duration = targetTime.Sub(now)
|
||||
//} else {
|
||||
// // 如果当前时间已经过了20:00,那么就跳到下一天
|
||||
// //targetTime = targetTime.Add(24 * time.Hour)
|
||||
//}
|
||||
//
|
||||
//fmt.Println(duration)
|
||||
//
|
||||
//// 等待到20:00
|
||||
//time.Sleep(duration)
|
||||
|
||||
cmiiEnv := demo
|
||||
//appName := "cmii-uav-platform"i
|
||||
//newTag := "5.4.0-032601"
|
||||
|
||||
appNameTagMap := map[string]string{
|
||||
//"cmii-uav-platform-dispatchh5": "5.6.0-062401",
|
||||
//"cmii-uav-data-post-process": "5.6.0-062401",
|
||||
//"cmii-uav-industrial-portfolio": "5.6.0-071801",
|
||||
"cmii-uav-industrial-portfolio": "5.7.0-31369-yunnan-082104",
|
||||
//"cmii-uav-brain": "5.5.0",
|
||||
//"cmii-uav-platform": "5.6.0-071702",
|
||||
//"cmii-uas-lifecycle": "5.6.0-30403-071802",
|
||||
"cmii-uav-platform-pilot2-to-cloud": "6.0.0-092301",
|
||||
}
|
||||
|
||||
for appName, newTag := range appNameTagMap {
|
||||
|
||||
@@ -46,11 +46,12 @@ func TestLoadSplitDepGzipImageToTargetHarbor(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPullFromEntityAndSyncConditionally(t *testing.T) {
|
||||
// 创建一个模拟的sync对象,用于测试函数的行为。这里需要根据你的实际需求来设置mock数据和预期结果。
|
||||
|
||||
// 下载镜像的核心函数
|
||||
sync := ImageSyncEntity{
|
||||
DownloadCondition: &DownloadEntity{
|
||||
ShouldDownloadImage: true,
|
||||
ProjectName: "bjyd",
|
||||
ProjectName: "xmyd_6.0.0",
|
||||
ProjectVersion: "",
|
||||
CmiiNameTagList: []string{
|
||||
//"cmii-uav-mqtthandler:5.4.0-bjdyt-052102",
|
||||
|
||||
@@ -261,3 +261,19 @@
|
||||
2024-08-22-17-33-16 uavcloud-demo cmii-uav-platform-oms 5.7.0 5.8.0
|
||||
2024-08-22-17-33-18 uavcloud-demo cmii-uav-platform-securityh5 5.7.0 5.8.0
|
||||
2024-08-22-17-33-19 uavcloud-demo cmii-suav-platform-supervision 5.7.0 5.8.0
|
||||
2024-08-29-09-35-00 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-082702 5.7.0-31369-yunnan-082901
|
||||
2024-08-29-10-04-24 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-082901 5.7.0-31369-yunnan-082903
|
||||
2024-08-29-11-30-21 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-082903 5.7.0-31369-yunnan-082904
|
||||
2024-08-29-15-06-26 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-082904 5.7.0-31369-yunnan-082905
|
||||
2024-08-29-16-58-24 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-082905 5.7.0-31369-yunnan-082906
|
||||
2024-08-29-17-30-45 uavcloud-demo cmii-uas-lifecycle 5.8.0 5.7.0-082901
|
||||
2024-08-30-11-03-12 uavcloud-demo cmii-uas-lifecycle 5.7.0-082902 5.7.0-snapshot
|
||||
2024-08-30-14-57-00 uavcloud-demo cmii-uas-lifecycle 5.7.0-snapshot 5.7.0-083001
|
||||
2024-09-02-17-02-21 uavcloud-demo cmii-uav-platform 5.8.0 5.8.0-0902
|
||||
2024-09-02-18-30-00 uavcloud-demo cmii-uas-lifecycle 5.7.0-090202 5.7.0-090201
|
||||
2024-09-03-09-21-43 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-082906 5.7.0-31369-yunnan-090301
|
||||
2024-09-03-15-18-12 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-090301 5.7.0-31369-yunnan-090302
|
||||
2024-09-03-17-22-08 uavcloud-demo cmii-uas-lifecycle 5.7.0-090201 5.7.0-090301
|
||||
2024-09-03-17-23-44 uavcloud-demo cmii-uav-platform 5.8.0-0902 5.8.0-090301
|
||||
2024-09-04-09-43-45 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-090302 5.7.0-31369-yunnan-090401
|
||||
2024-09-05-13-52-57 uavcloud-demo cmii-uav-industrial-portfolio 5.7.0-31369-yunnan-090401 5.7.0-31369-yunnan-090501
|
||||
|
||||
Reference in New Issue
Block a user