[Cmii][ImageSync] - update-app-tag.sh
This commit is contained in:
@@ -2,24 +2,33 @@
|
||||
|
||||
# Check if the correct number of arguments are provided
|
||||
if [ "$#" -ne 3 ]; then
|
||||
echo "Usage: $0 <name_space> <new_tag> <deployment_name>"
|
||||
echo "Usage: $0 <name_space> <deployment_name> <new_tag>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Assign the arguments to variables
|
||||
name_space=$1
|
||||
new_tag=$2
|
||||
deployment_name=$3
|
||||
deployment_name=$2
|
||||
new_tag=$3
|
||||
|
||||
echo "Name Space: $name_space Deployment Name: $deployment_name New Tag: $new_tag"
|
||||
echo ""
|
||||
# echo "Name Space: $name_space Deployment Name: $deployment_name New Tag: $new_tag"
|
||||
# echo ""
|
||||
|
||||
deployment_image=$(kubectl -n "${name_space}" get deployment "${deployment_name}" -o=jsonpath='{.spec.template.spec.containers[*].image}')
|
||||
image_prefix=$(echo "${deployment_image}" | cut -d":" -f1)
|
||||
old_tag=$(echo "${deployment_image}" | cut -d":" -f2)
|
||||
|
||||
echo "image prefix is => ${image_prefix}"
|
||||
old_tag=$(echo "${deployment_image}" | grep -oE ':[0-9]+\.[0-9]+\.[0-9]+.*')
|
||||
image_prefix=${deployment_image%${old_tag}}
|
||||
old_tag=${old_tag#*:}
|
||||
|
||||
echo "old_tag is ${old_tag}"
|
||||
# echo "old_tag is ${old_tag}"
|
||||
# echo "image prefix is => ${image_prefix}"
|
||||
|
||||
kubectl -n "${name_space}" patch deployment "${deployment_name}" -p "{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"${deployment_name}\",\"image\": \"${image_prefix}:${new_tag}\"}]}}}}"
|
||||
|
||||
kubectl -n "${name_space}" patch deployment "${deployment_name}" -p "{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"${deployment_name}\",\"image\": \"${image_prefix}:${new_tag}\"}]}}}}" >> /dev/null
|
||||
|
||||
|
||||
real_new_tag=$(kubectl -n "${name_space}" get deployment "${deployment_name}" -o=jsonpath='{.spec.template.spec.containers[*].image}' | grep -oE ':[0-9]+\.[0-9]+\.[0-9]+.*')
|
||||
real_new_tag=${real_new_tag#*:}
|
||||
current_date=$(date "+%Y-%m-%d-%H-%M-%S")
|
||||
|
||||
echo "${current_date} ${name_space} ${deployment_name} ${old_tag} ${real_new_tag}"
|
||||
|
||||
@@ -220,7 +220,7 @@ func TestScaleCmiiBackendDeploymentToDesiredReplicas(t *testing.T) {
|
||||
|
||||
func TestBackupAllDeploymentFromEnv(t *testing.T) {
|
||||
|
||||
BackupAllDeploymentFromEnv(integration)
|
||||
BackupAllDeploymentFromEnv(demo)
|
||||
|
||||
}
|
||||
|
||||
@@ -243,10 +243,39 @@ func TestRestartCmiiDeployment(t *testing.T) {
|
||||
|
||||
func TestUpdateCmiiDeploymentImageTag(t *testing.T) {
|
||||
|
||||
cmiiEnv := integration
|
||||
appName := "cmii-uav-platform"
|
||||
newTag := "5.4.0-032601"
|
||||
// 计算20:00的时间
|
||||
now := time.Now()
|
||||
targetTime := time.Date(now.Year(), now.Month(), now.Day(), 20, 0, 0, 0, now.Location())
|
||||
|
||||
// 如果当前时间已经过了20:00,那么就跳到下一天
|
||||
if now.After(targetTime) {
|
||||
targetTime = targetTime.Add(24 * time.Hour)
|
||||
}
|
||||
|
||||
// 计算到20:00的剩余时间
|
||||
duration := targetTime.Sub(now)
|
||||
|
||||
// 等待到20:00
|
||||
time.Sleep(duration)
|
||||
|
||||
cmiiEnv := demo
|
||||
//appName := "cmii-uav-platform"
|
||||
//newTag := "5.4.0-032601"
|
||||
|
||||
appNameTagMap := map[string]string{
|
||||
"cmii-uav-waypoint": "5.4.0-032901",
|
||||
"cmii-uav-platform-armypeople": "5.4.0-032901",
|
||||
"cmii-uav-platform-open": "5.4.0-032901",
|
||||
"cmii-admin-data": "5.4.0-032901",
|
||||
"cmii-uav-industrial-portfolio": "5.4.0-032901",
|
||||
"cmii-uav-mqtthandler": "5.4.0-032901",
|
||||
"cmii-uav-alarm": "5.4.0-032501",
|
||||
"cmii-uav-device": "5.4.0-032501",
|
||||
"cmii-suav-supervision": "5.4.0-032501",
|
||||
"cmii-uav-airspace": "5.4.0-032501",
|
||||
}
|
||||
|
||||
for appName, newTag := range appNameTagMap {
|
||||
tag := UpdateCmiiDeploymentImageTag(cmiiEnv, appName, newTag)
|
||||
assert.Equal(t, tag, true, "update image tag failed !")
|
||||
utils.SplitLinePrint()
|
||||
@@ -256,5 +285,6 @@ func TestUpdateCmiiDeploymentImageTag(t *testing.T) {
|
||||
|
||||
// push message
|
||||
message_pusher.PushCmiiUpdateMessage(cmiiEnv, appName, newTag, check)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,3 +17,13 @@
|
||||
2024-03-22-17-17-15 uavcloud-demo cmii-uav-process 5.4.0 5.4.0-032201
|
||||
2024-03-26-16-27-58 uavcloud-demo cmii-uav-multilink 5.4.0 5.4.0-032602
|
||||
2024-03-26-17-11-29 uavcloud-test cmii-uav-platform 5.4.0-032002 5.4.0-032601
|
||||
2024-03-29-20-00-00 uavcloud-demo cmii-uav-waypoint 5.4.0-26768 5.4.0-032901
|
||||
2024-03-29-20-01-31 uavcloud-demo cmii-uav-mqtthandler 5.4.0-25916-032001 5.4.0-032901
|
||||
2024-03-29-20-02-58 uavcloud-demo cmii-uav-airspace 5.4.0-0319 5.4.0-032501
|
||||
2024-03-29-20-04-44 uavcloud-demo cmii-uav-platform-armypeople 5.4.0-032704 5.4.0-032901
|
||||
2024-03-29-20-04-48 uavcloud-demo cmii-uav-platform-open 5.4.0 5.4.0-032901
|
||||
2024-03-29-20-04-52 uavcloud-demo cmii-admin-data 5.4.0 5.4.0-032901
|
||||
2024-03-29-20-06-26 uavcloud-demo cmii-uav-industrial-portfolio 5.4.0-27348-032401 5.4.0-032901
|
||||
2024-03-29-20-09-25 uavcloud-demo cmii-uav-alarm 5.4.0-0321 5.4.0-032501
|
||||
2024-03-29-20-10-45 uavcloud-demo cmii-uav-device 5.4.0-0321 5.4.0-032501
|
||||
2024-03-29-20-12-18 uavcloud-demo cmii-suav-supervision 5.2.0 5.4.0-032501
|
||||
|
||||
Reference in New Issue
Block a user