优化: 改为从Release下载预编译上传工具
- 不再需要服务器Python环境 - 支持从Gitee Release直接下载exe - 自动检测操作系统下载对应版本 - 支持wget和curl两种下载方式 - 下载失败时友好提示,不影响部署
This commit is contained in:
65
install.sh
65
install.sh
@@ -1138,36 +1138,63 @@ create_data_directories() {
|
||||
}
|
||||
|
||||
build_upload_tool() {
|
||||
print_step "打包上传工具..."
|
||||
print_step "下载上传工具..."
|
||||
|
||||
cd "${PROJECT_DIR}/upload-tool"
|
||||
|
||||
# 检查build.sh是否存在
|
||||
if [[ ! -f "build.sh" ]]; then
|
||||
print_warning "build.sh不存在,跳过上传工具打包"
|
||||
echo ""
|
||||
return 0
|
||||
fi
|
||||
|
||||
# 添加执行权限
|
||||
chmod +x build.sh
|
||||
|
||||
# 检查是否已存在exe或可执行文件
|
||||
# 检查是否已存在可执行文件
|
||||
if [[ -f "dist/玩玩云上传工具.exe" ]] || [[ -f "dist/玩玩云上传工具" ]]; then
|
||||
print_success "上传工具已存在,跳过打包"
|
||||
print_success "上传工具已存在,跳过下载"
|
||||
echo ""
|
||||
return 0
|
||||
fi
|
||||
|
||||
# 执行打包
|
||||
print_info "开始打包上传工具(这可能需要几分钟)..."
|
||||
if bash build.sh > /dev/null 2>&1; then
|
||||
print_success "上传工具打包完成"
|
||||
# 创建dist目录
|
||||
mkdir -p dist
|
||||
|
||||
# 下载地址(可配置)
|
||||
TOOL_DOWNLOAD_URL_WINDOWS="https://gitee.com/yu-yon/vue-driven-cloud-storage/releases/download/v1.2.5/玩玩云上传工具.exe"
|
||||
TOOL_DOWNLOAD_URL_LINUX="https://gitee.com/yu-yon/vue-driven-cloud-storage/releases/download/v1.2.5/玩玩云上传工具"
|
||||
|
||||
# 根据操作系统选择下载链接
|
||||
if [[ "$OS" == "ubuntu" ]] || [[ "$OS" == "debian" ]] || [[ "$OS" == "centos" ]] || [[ "$OS" == "rhel" ]]; then
|
||||
DOWNLOAD_URL="$TOOL_DOWNLOAD_URL_LINUX"
|
||||
TOOL_FILENAME="玩玩云上传工具"
|
||||
print_info "检测到Linux系统,下载Linux版本上传工具..."
|
||||
else
|
||||
print_warning "上传工具打包失败,用户仍可正常使用SFTP上传"
|
||||
print_info "如需上传工具,请手动运行: cd ${PROJECT_DIR}/upload-tool && bash build.sh"
|
||||
DOWNLOAD_URL="$TOOL_DOWNLOAD_URL_WINDOWS"
|
||||
TOOL_FILENAME="玩玩云上传工具.exe"
|
||||
print_info "下载Windows版本上传工具..."
|
||||
fi
|
||||
|
||||
# 尝试下载
|
||||
if command -v wget &> /dev/null; then
|
||||
wget -q --show-progress -O "dist/${TOOL_FILENAME}" "$DOWNLOAD_URL" || {
|
||||
print_warning "上传工具下载失败"
|
||||
print_info "用户仍可使用网页上传(本地存储)或SFTP客户端"
|
||||
echo ""
|
||||
return 0
|
||||
}
|
||||
elif command -v curl &> /dev/null; then
|
||||
curl -L -o "dist/${TOOL_FILENAME}" "$DOWNLOAD_URL" || {
|
||||
print_warning "上传工具下载失败"
|
||||
print_info "用户仍可使用网页上传(本地存储)或SFTP客户端"
|
||||
echo ""
|
||||
return 0
|
||||
}
|
||||
else
|
||||
print_warning "未找到wget或curl,无法下载上传工具"
|
||||
print_info "用户仍可使用网页上传(本地存储)或SFTP客户端"
|
||||
echo ""
|
||||
return 0
|
||||
fi
|
||||
|
||||
# 添加执行权限(Linux版本)
|
||||
if [[ "$TOOL_FILENAME" != *.exe ]]; then
|
||||
chmod +x "dist/${TOOL_FILENAME}"
|
||||
fi
|
||||
|
||||
print_success "上传工具下载完成: dist/${TOOL_FILENAME}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user