Files
sub2api-add/deploy/install.sh
T
Qiufeng 292dd329af
Business Plugins CI / check (plugin-admin) (push) Successful in 1m36s
Business Plugins CI / check (subscription-admin) (push) Successful in 1m37s
feat: add one-command plugin deployment and removal
2026-08-27 23:48:18 +08:00

27 lines
896 B
Bash
Executable File

#!/usr/bin/env bash
set -Eeuo pipefail
REPO_URL=${PLUGIN_REPO_URL:-https://git.awaioi.com/awaioi/sub2api-add.git}
SOURCE_DIR=${PLUGIN_SOURCE_DIR:-/opt/sub2api-add}
REF=${PLUGIN_REF:-main}
die() { printf '错误:%s\n' "$*" >&2; exit 1; }
[[ $EUID -eq 0 ]] || die "请使用 root 或 sudo 运行"
command -v git >/dev/null 2>&1 || die "缺少 git"
if [[ -e "$SOURCE_DIR" && ! -d "$SOURCE_DIR/.git" ]]; then
die "$SOURCE_DIR 已存在但不是本插件仓库;请设置 PLUGIN_SOURCE_DIR"
fi
if [[ -d "$SOURCE_DIR/.git" ]]; then
if [[ -n "$(git -C "$SOURCE_DIR" status --porcelain)" ]]; then
die "$SOURCE_DIR 有未提交修改,先清理后再升级"
fi
git -C "$SOURCE_DIR" fetch --depth 1 origin "$REF"
git -C "$SOURCE_DIR" checkout --force FETCH_HEAD
else
git clone --depth 1 --branch "$REF" "$REPO_URL" "$SOURCE_DIR"
fi
exec "$SOURCE_DIR/scripts/install-local.sh" "$@"