[agent][deploy] - a

This commit is contained in:
zeaslity
2024-09-23 16:32:48 +08:00
parent 0d1ed24814
commit 5abae32231
44 changed files with 25982 additions and 12976 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 {

View File

@@ -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",

View File

@@ -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