You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							83 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							83 lines
						
					
					
						
							1.7 KiB
						
					
					
				| #!/bin/bash
 | |
| 
 | |
| # 定义颜色输出(可选,让提示更清晰)
 | |
| RED='\033[0;31m'
 | |
| GREEN='\033[0;32m'
 | |
| NC='\033[0m' # No Color
 | |
| 
 | |
| # 打印错误信息并退出
 | |
| error_exit() {
 | |
|   echo -e "${RED}Error: $1${NC}" >&2
 | |
|   exit 1
 | |
| }
 | |
| 
 | |
| # 打印普通提示
 | |
| info_msg() {
 | |
|   echo -e "${GREEN}$1${NC}"
 | |
| }
 | |
| 
 | |
| # 更新前端
 | |
| update_frontend() {
 | |
|   info_msg "Updating frontend..."
 | |
|   cd /root/hami || error_exit "Failed to enter /root/hami directory"
 | |
|   make build-image DOCKER_IMAGE=projecthami/hami-webui-fe VERSION=dev || error_exit "Frontend build failed"
 | |
|   UPDATED=1
 | |
| }
 | |
| 
 | |
| # 更新后端
 | |
| update_backend() {
 | |
|   info_msg "Updating backend..."
 | |
|   cd /root/hami/server || error_exit "Failed to enter /root/hami/server directory"
 | |
|   make build-image DOCKER_IMAGE=projecthami/hami-webui-be VERSION=dev || error_exit "Backend build failed"
 | |
|   UPDATED=1
 | |
| }
 | |
| 
 | |
| # 重启 Kubernetes 服务
 | |
| restart_service() {
 | |
|   info_msg "Restarting service with k8s.yml..."
 | |
|   cd /root/hami || error_exit "Failed to enter /root/hami directory"
 | |
|   kubectl delete -f k8s.yml || error_exit "Failed to delete k8s resources"
 | |
|   sleep 2 # 可选:等待资源清理
 | |
|   kubectl create -f k8s.yml || error_exit "Failed to create k8s resources"
 | |
|   info_msg "Service restarted successfully."
 | |
| }
 | |
| 
 | |
| # 显示用法
 | |
| usage() {
 | |
|   echo "Usage: $0 {all|frontend|backend}"
 | |
|   exit 1
 | |
| }
 | |
| 
 | |
| # 主逻辑
 | |
| UPDATED=0
 | |
| cd /root/hami
 | |
| git pull
 | |
| 
 | |
| case "$1" in
 | |
|   all)
 | |
|     update_frontend
 | |
|     update_backend
 | |
|     ;;
 | |
|   frontend)
 | |
|     update_frontend
 | |
|     ;;
 | |
|   backend)
 | |
|     update_backend
 | |
|     ;;
 | |
|   "")
 | |
|     echo "Error: No argument provided."
 | |
|     usage
 | |
|     ;;
 | |
|   *)
 | |
|     echo "Error: Invalid argument '$1'."
 | |
|     usage
 | |
|     ;;
 | |
| esac
 | |
| 
 | |
| # 如果执行了任何更新,则重启服务
 | |
| if [ "$UPDATED" -eq 1 ]; then
 | |
|   restart_service
 | |
| fi
 | |
| 
 | |
| info_msg "Update and restart process finished."
 |