| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/bin/bash
- # 打包编译产出脚本
- # 将 install 目录打包为 tar.gz 便于部署
- set -e
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
- cd "$REPO_ROOT"
- # 默认输出目录和包名
- OUTPUT_DIR="${OUTPUT_DIR:-$REPO_ROOT}"
- TIMESTAMP=$(date +%Y%m%d_%H%M%S)
- PACKAGE_NAME="${PACKAGE_NAME:-ghost_install_$TIMESTAMP}.tar.gz"
- echo "=========================================="
- echo " 打包编译产出"
- echo "=========================================="
- # 检查 install 目录是否存在
- if [ ! -d "install" ]; then
- echo "错误: 未找到 install 目录,请先执行编译"
- exit 1
- fi
- # 检查 install 目录是否为空
- if [ ! -f "install/setup.sh" ] && [ ! -f "install/local_setup.sh" ]; then
- echo "错误: install 目录为空或未完成编译"
- exit 1
- fi
- # 创建输出目录
- mkdir -p "$OUTPUT_DIR"
- PACKAGE_PATH="$OUTPUT_DIR/$PACKAGE_NAME"
- echo ">>> 打包中: install/ -> $PACKAGE_PATH"
- # 打包 install 目录,排除临时文件
- tar -czvf "$PACKAGE_PATH" \
- --exclude='*.pyc' \
- --exclude='__pycache__' \
- --exclude='*.log' \
- -C "$REPO_ROOT" \
- install
- echo ""
- echo "完成: 打包成功"
- echo "输出文件: $PACKAGE_PATH"
- echo "文件大小: $(du -h "$PACKAGE_PATH" | cut -f1)"
- echo ""
- echo "解压部署: tar -xzvf $PACKAGE_NAME -C /目标路径/"
|