feat: initialize managed portal
This commit is contained in:
64
managed/store_dwell_alert/scripts/package_bundle.sh
Executable file
64
managed/store_dwell_alert/scripts/package_bundle.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BUNDLE_NAME="${BUNDLE_NAME:-store_dwell_alert_bundle}"
|
||||
BUILD_DATE="${BUILD_DATE:-$(date +%F)}"
|
||||
DIST_DIR="${PROJECT_DIR}/dist"
|
||||
STAGE_DIR="${DIST_DIR}/${BUNDLE_NAME}"
|
||||
ARCHIVE_PATH="${DIST_DIR}/${BUNDLE_NAME}_${BUILD_DATE}.tar.gz"
|
||||
WHEELHOUSE_SOURCE="${WHEELHOUSE_SOURCE:-${PROJECT_DIR}/wheelhouse}"
|
||||
WEIGHTS_SOURCE="${WEIGHTS_SOURCE:-${PROJECT_DIR}/weights/yolo11n.pt}"
|
||||
|
||||
require_path() {
|
||||
local target="$1"
|
||||
if [[ ! -e "${target}" ]]; then
|
||||
echo "Missing required path: ${target}" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
require_path "${PROJECT_DIR}/app"
|
||||
require_path "${PROJECT_DIR}/config/config.example.yaml"
|
||||
require_path "${PROJECT_DIR}/deploy/store-dwell-alert.service.tpl"
|
||||
require_path "${PROJECT_DIR}/requirements.txt"
|
||||
require_path "${PROJECT_DIR}/requirements.lock.txt"
|
||||
require_path "${PROJECT_DIR}/README.md"
|
||||
require_path "${PROJECT_DIR}/README_zh.md"
|
||||
require_path "${PROJECT_DIR}/scripts/install.sh"
|
||||
require_path "${PROJECT_DIR}/scripts/run.sh"
|
||||
require_path "${PROJECT_DIR}/scripts/install_service.sh"
|
||||
require_path "${WHEELHOUSE_SOURCE}"
|
||||
require_path "${WEIGHTS_SOURCE}"
|
||||
|
||||
rm -rf "${STAGE_DIR}"
|
||||
mkdir -p \
|
||||
"${STAGE_DIR}/config" \
|
||||
"${STAGE_DIR}/data/runtime" \
|
||||
"${STAGE_DIR}/data/staff_gallery" \
|
||||
"${STAGE_DIR}/deploy" \
|
||||
"${STAGE_DIR}/logs" \
|
||||
"${STAGE_DIR}/scripts" \
|
||||
"${STAGE_DIR}/weights"
|
||||
|
||||
cp -R "${PROJECT_DIR}/app" "${STAGE_DIR}/app"
|
||||
cp "${PROJECT_DIR}/README.md" "${STAGE_DIR}/README.md"
|
||||
cp "${PROJECT_DIR}/README_zh.md" "${STAGE_DIR}/README_zh.md"
|
||||
cp "${PROJECT_DIR}/requirements.txt" "${STAGE_DIR}/requirements.txt"
|
||||
cp "${PROJECT_DIR}/requirements.lock.txt" "${STAGE_DIR}/requirements.lock.txt"
|
||||
cp "${PROJECT_DIR}/config/config.example.yaml" "${STAGE_DIR}/config/config.example.yaml"
|
||||
cp "${PROJECT_DIR}/deploy/store-dwell-alert.service.tpl" "${STAGE_DIR}/deploy/store-dwell-alert.service.tpl"
|
||||
cp "${PROJECT_DIR}/scripts/install.sh" "${STAGE_DIR}/scripts/install.sh"
|
||||
cp "${PROJECT_DIR}/scripts/run.sh" "${STAGE_DIR}/scripts/run.sh"
|
||||
cp "${PROJECT_DIR}/scripts/install_service.sh" "${STAGE_DIR}/scripts/install_service.sh"
|
||||
cp "${WEIGHTS_SOURCE}" "${STAGE_DIR}/weights/yolo11n.pt"
|
||||
cp -R "${WHEELHOUSE_SOURCE}" "${STAGE_DIR}/wheelhouse"
|
||||
|
||||
chmod +x \
|
||||
"${STAGE_DIR}/scripts/install.sh" \
|
||||
"${STAGE_DIR}/scripts/run.sh" \
|
||||
"${STAGE_DIR}/scripts/install_service.sh"
|
||||
|
||||
rm -f "${ARCHIVE_PATH}"
|
||||
tar -czf "${ARCHIVE_PATH}" -C "${DIST_DIR}" "${BUNDLE_NAME}"
|
||||
echo "Bundle created: ${ARCHIVE_PATH}"
|
||||
Reference in New Issue
Block a user