Files
full-stack-doc/backend/prepare_linux_package.sh
2025-10-14 20:05:29 +08:00

66 lines
1.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 准备Linux打包的源代码包
echo "=== 准备Linux打包源代码包 ==="
# 创建临时目录
PACKAGE_DIR="cloud-drive-source-$(date +%Y%m%d)"
mkdir -p "$PACKAGE_DIR"
# 复制必要文件
echo "复制源代码..."
cp -r app/ "$PACKAGE_DIR/"
cp main.py "$PACKAGE_DIR/"
cp build.spec "$PACKAGE_DIR/"
cp build_linux.py "$PACKAGE_DIR/"
cp requirements.txt "$PACKAGE_DIR/"
cp requirements-build.txt "$PACKAGE_DIR/"
cp .env.example "$PACKAGE_DIR/"
cp cloud-drive.service "$PACKAGE_DIR/"
cp install.sh "$PACKAGE_DIR/"
cp uninstall.sh "$PACKAGE_DIR/"
cp BUILD_GUIDE.md "$PACKAGE_DIR/"
# 创建Linux打包脚本
cat > "$PACKAGE_DIR/build_on_linux.sh" << 'EOF'
#!/bin/bash
# 在Linux环境下的打包脚本
echo "=== 在Linux环境下打包云盘后端 ==="
# 安装系统依赖
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv build-essential
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install --upgrade pip
pip install -r requirements-build.txt
pip install -r requirements.txt
# 运行打包
python build_linux.py
echo "=== 打包完成 ==="
echo "可执行文件位置: deploy/cloud-drive-server"
echo "现在可以运行 ./install.sh 进行安装"
EOF
chmod +x "$PACKAGE_DIR/build_on_linux.sh"
# 创建压缩包
echo "创建压缩包..."
tar -czf "$PACKAGE_DIR.tar.gz" "$PACKAGE_DIR"
echo "=== 源代码包准备完成 ==="
echo "生成的文件:"
echo " $PACKAGE_DIR/ - 源代码目录"
echo " $PACKAGE_DIR.tar.gz - 压缩包"
echo ""
echo "将压缩包上传到Linux服务器后解压并运行"
echo " tar -xzf $PACKAGE_DIR.tar.gz"
echo " cd $PACKAGE_DIR"
echo " ./build_on_linux.sh"