|
|
@@ -0,0 +1,53 @@
|
|
|
+#!/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 /目标路径/"
|