| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | #!/bin/bash
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | # 开启严格模式 | 
					
						
							|  |  |  |  | set -e | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | # 定义变量 | 
					
						
							|  |  |  |  | REPO_URL="https://git.sugarscat.cn/me/note" | 
					
						
							|  |  |  |  | TARGET_DIR="/var/www/note" | 
					
						
							|  |  |  |  | DIST_DIR=".vitepress/dist" | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | TEMP_DIR=$(mktemp -d)  # 生成临时目录 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | # 清理临时目录的函数(在脚本退出时执行) | 
					
						
							|  |  |  |  | cleanup() { | 
					
						
							|  |  |  |  |   rm -rf "$TEMP_DIR" | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | trap cleanup EXIT | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | echo "开始下载最新构建产物..." | 
					
						
							|  |  |  |  | curl -L -o "$TEMP_DIR/artifact.zip" "$REPO_URL/-/jobs/artifacts/main/download?job=build" | 
					
						
							| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 20:03:16 +08:00
										 |  |  |  | # shellcheck disable=SC2181 | 
					
						
							|  |  |  |  | if [ $? -ne 0 ]; then | 
					
						
							|  |  |  |  |   echo "下载失败,请检查网络连接或重新尝试。" | 
					
						
							|  |  |  |  |   exit 1 | 
					
						
							|  |  |  |  | fi | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | # 检查 unzip 是否可用,不可用时自动安装 | 
					
						
							|  |  |  |  | if ! command -v unzip &> /dev/null; then | 
					
						
							|  |  |  |  |   echo "unzip 未安装,开始安装 ···" | 
					
						
							|  |  |  |  |   if command -v apt-get &> /dev/null; then | 
					
						
							|  |  |  |  |     sudo apt-get update | 
					
						
							|  |  |  |  |     sudo apt-get install -y unzip | 
					
						
							|  |  |  |  |   elif command -v yum &> /dev/null; then | 
					
						
							|  |  |  |  |     sudo yum install -y unzip | 
					
						
							|  |  |  |  |   else | 
					
						
							|  |  |  |  |     echo "无法安装 unzip,请手动安装。" | 
					
						
							|  |  |  |  |     exit 1 | 
					
						
							|  |  |  |  |   fi | 
					
						
							|  |  |  |  | fi | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | echo "解压文件..." | 
					
						
							|  |  |  |  | unzip -q "$TEMP_DIR/artifact.zip" -d "$TEMP_DIR" | 
					
						
							| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | # 确保目标目录存在 | 
					
						
							|  |  |  |  | sudo mkdir -p "$TARGET_DIR" | 
					
						
							| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | echo "清空目标目录..." | 
					
						
							|  |  |  |  | sudo rm -rf "$TARGET_DIR"/* | 
					
						
							| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | echo "移动文件到目标目录..." | 
					
						
							|  |  |  |  | sudo mv "$TEMP_DIR/$DIST_DIR"/* "$TARGET_DIR" | 
					
						
							| 
									
										
										
										
											2025-03-13 15:49:39 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-13 16:06:21 +08:00
										 |  |  |  | echo "部署完成!" |