1acac6439a
Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
1.9 KiB
Bash
54 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
# 下载并执行 install-nexus-fresh.sh(公共仓库无需令牌)
|
|
#
|
|
# curl -fsSL "http://66.154.115.8:3000/admin/Nexus/raw/branch/main/deploy/download-install-fresh.sh" | bash
|
|
#
|
|
# 推荐直接使用:
|
|
# curl -fsSL "http://66.154.115.8:3000/admin/Nexus/raw/branch/main/deploy/quick-install.sh" | bash
|
|
|
|
set -euo pipefail
|
|
|
|
NEXUS_GITEA_HOST="${NEXUS_GITEA_HOST:-66.154.115.8:3000}"
|
|
NEXUS_GIT_BRANCH="${NEXUS_GIT_BRANCH:-main}"
|
|
NEXUS_RAW_BASE="${NEXUS_RAW_BASE:-http://${NEXUS_GITEA_HOST}/admin/Nexus/raw/branch/${NEXUS_GIT_BRANCH}}"
|
|
OUT="${OUT:-/tmp/install-nexus-fresh.sh}"
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
NC='\033[0m'
|
|
|
|
err() { echo -e "${RED}[ERROR]${NC} $*" >&2; }
|
|
ok() { echo -e "${GREEN}[OK]${NC} $*"; }
|
|
|
|
for cf in /root/.nexus-deploy.env /root/.nexus-secrets/nexus.env; do
|
|
[[ -f "$cf" ]] && set -a && source "$cf" && set +a
|
|
done
|
|
|
|
download() {
|
|
local url base
|
|
for base in "${NEXUS_RAW_BASE}" "http://${NEXUS_GITEA_HOST}/admin/Nexus/raw/${NEXUS_GIT_BRANCH}"; do
|
|
url="${base}/deploy/install-nexus-fresh.sh"
|
|
if curl -fsSL "$url" -o "$OUT" 2>/dev/null && head -1 "$OUT" | grep -q '^#!/'; then
|
|
ok "已下载 install-nexus-fresh.sh"
|
|
chmod +x "$OUT"
|
|
exec bash "$OUT" "$@"
|
|
fi
|
|
done
|
|
if [[ -n "${NEXUS_GITEA_TOKEN:-}" ]]; then
|
|
url="http://${NEXUS_GITEA_HOST}/api/v1/repos/admin/Nexus/raw/deploy/install-nexus-fresh.sh?ref=${NEXUS_GIT_BRANCH}"
|
|
if curl -fsSL -H "Authorization: token ${NEXUS_GITEA_TOKEN}" "$url" -o "$OUT" 2>/dev/null \
|
|
&& head -1 "$OUT" | grep -q '^#!/'; then
|
|
ok "已下载(API + 令牌)"
|
|
chmod +x "$OUT"
|
|
exec bash "$OUT" "$@"
|
|
fi
|
|
fi
|
|
return 1
|
|
}
|
|
|
|
if ! download "$@"; then
|
|
err "下载失败,请改用公共仓库一键入口:"
|
|
err " curl -fsSL \"${NEXUS_RAW_BASE}/deploy/quick-install.sh\" | bash"
|
|
exit 1
|
|
fi
|