优化: 改为从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() {
|
build_upload_tool() {
|
||||||
print_step "打包上传工具..."
|
print_step "下载上传工具..."
|
||||||
|
|
||||||
cd "${PROJECT_DIR}/upload-tool"
|
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
|
if [[ -f "dist/玩玩云上传工具.exe" ]] || [[ -f "dist/玩玩云上传工具" ]]; then
|
||||||
print_success "上传工具已存在,跳过打包"
|
print_success "上传工具已存在,跳过下载"
|
||||||
echo ""
|
echo ""
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 执行打包
|
# 创建dist目录
|
||||||
print_info "开始打包上传工具(这可能需要几分钟)..."
|
mkdir -p dist
|
||||||
if bash build.sh > /dev/null 2>&1; then
|
|
||||||
print_success "上传工具打包完成"
|
# 下载地址(可配置)
|
||||||
|
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
|
else
|
||||||
print_warning "上传工具打包失败,用户仍可正常使用SFTP上传"
|
DOWNLOAD_URL="$TOOL_DOWNLOAD_URL_WINDOWS"
|
||||||
print_info "如需上传工具,请手动运行: cd ${PROJECT_DIR}/upload-tool && bash build.sh"
|
TOOL_FILENAME="玩玩云上传工具.exe"
|
||||||
|
print_info "下载Windows版本上传工具..."
|
||||||
fi
|
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 ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user