#!/usr/bin/env bash # 将访客邀约页初始化测试脚本打为 tar.gz / zip,便于现场/运维拷贝部署验证。 set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" STAMP="${STAMP:-$(date +%Y%m%d)}" BUNDLE_ROOT="visitor-invite-page-init-test-${STAMP}" DIST_DIR="${SCRIPT_DIR}/dist" OUT_TAR_GZ="${DIST_DIR}/${BUNDLE_ROOT}.tar.gz" OUT_ZIP="${DIST_DIR}/${BUNDLE_ROOT}.zip" need_files=( "visitor_invite_page_init_example.py" "run_visitor_invite_page_one_click.sh" "requirements-visitor-invite-test.txt" ) for f in "${need_files[@]}" "visitor-invite-test-bundle-README.txt"; do if [[ ! -f "$f" ]]; then echo "ERROR: 缺少文件: $SCRIPT_DIR/$f" >&2 exit 1 fi done mkdir -p "$DIST_DIR" rm -rf "${DIST_DIR}/${BUNDLE_ROOT}" mkdir -p "${DIST_DIR}/${BUNDLE_ROOT}" for f in "${need_files[@]}"; do cp -a "$f" "${DIST_DIR}/${BUNDLE_ROOT}/" done cp -a "visitor-invite-test-bundle-README.txt" "${DIST_DIR}/${BUNDLE_ROOT}/README.txt" chmod +x "${DIST_DIR}/${BUNDLE_ROOT}/run_visitor_invite_page_one_click.sh" ( cd "$DIST_DIR" && tar -czf "${BUNDLE_ROOT}.tar.gz" "$BUNDLE_ROOT" ) ( cd "$DIST_DIR" && zip -qr "${BUNDLE_ROOT}.zip" "$BUNDLE_ROOT" ) ( cd "$DIST_DIR" && sha256sum "${BUNDLE_ROOT}.tar.gz" "${BUNDLE_ROOT}.zip" > "${BUNDLE_ROOT}.sha256" ) ls -la "$OUT_TAR_GZ" "$OUT_ZIP" "${DIST_DIR}/${BUNDLE_ROOT}.sha256" echo "" echo "==> 已生成:" echo " $OUT_TAR_GZ" echo " $OUT_ZIP" echo " ${DIST_DIR}/${BUNDLE_ROOT}.sha256" echo "==> 校验: (cd $DIST_DIR && sha256sum -c ${BUNDLE_ROOT}.sha256)"