Fix CRLF in deploy shell scripts so Ubuntu bash can run updates.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+55
-55
@@ -1,55 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
# 一键更新/部署:仅 git pull,禁止 scp 传代码。
|
||||
# 用法:
|
||||
# bash /opt/eth_hedge_sim/deploy/pull_and_restart.sh
|
||||
# 或通过 manage.sh 选 1/3
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
echo "[比特骆驼] pull @ $ROOT"
|
||||
if [[ -d "$ROOT/.git" ]]; then
|
||||
git fetch --all --prune
|
||||
git pull --ff-only
|
||||
fi
|
||||
|
||||
if [[ ! -f "$ROOT/.env" ]]; then
|
||||
echo "[比特骆驼] missing .env — copy from example"
|
||||
cp "$ROOT/.env.example" "$ROOT/.env"
|
||||
# 云上测试机默认直连 OKX
|
||||
sed -i 's/^OKX_HTTP_PROXY=.*/OKX_HTTP_PROXY=/' "$ROOT/.env" || true
|
||||
sed -i 's/^API_PORT=.*/API_PORT=5155/' "$ROOT/.env" || true
|
||||
sed -i 's/^ENV_NAME=.*/ENV_NAME=test/' "$ROOT/.env" || true
|
||||
sed -i 's/^EXCHANGE=.*/EXCHANGE=okx/' "$ROOT/.env" || true
|
||||
echo "[比特骆驼] wrote .env — please review AUTH_* secrets"
|
||||
fi
|
||||
|
||||
if [[ ! -d "$ROOT/.venv" ]]; then
|
||||
python3 -m venv "$ROOT/.venv"
|
||||
fi
|
||||
# shellcheck disable=SC1091
|
||||
source "$ROOT/.venv/bin/activate"
|
||||
pip install -U pip
|
||||
pip install -r "$ROOT/requirements.txt"
|
||||
|
||||
if ! command -v npm >/dev/null 2>&1; then
|
||||
echo "ERROR: npm not found. Install Node.js 18+ first (manage.sh 一键部署会自动装)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
(
|
||||
cd "$ROOT/frontend"
|
||||
if [[ -f package-lock.json ]]; then npm ci; else npm install; fi
|
||||
npm run build
|
||||
)
|
||||
|
||||
if ! command -v pm2 >/dev/null 2>&1; then
|
||||
npm install -g pm2
|
||||
fi
|
||||
|
||||
# 仅 reload 本项目进程,禁止 pm2 restart all
|
||||
pm2 startOrReload "$ROOT/deploy/ecosystem.config.cjs" --update-env
|
||||
pm2 save
|
||||
|
||||
echo "[比特骆驼] done. health: http://127.0.0.1:5155/health"
|
||||
#!/usr/bin/env bash
|
||||
# 一键更新/部署:仅 git pull,禁止 scp 传代码。
|
||||
# 用法:
|
||||
# bash /opt/eth_hedge_sim/deploy/pull_and_restart.sh
|
||||
# 或通过 manage.sh 选 1/3
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
echo "[比特骆驼] pull @ $ROOT"
|
||||
if [[ -d "$ROOT/.git" ]]; then
|
||||
git fetch --all --prune
|
||||
git pull --ff-only
|
||||
fi
|
||||
|
||||
if [[ ! -f "$ROOT/.env" ]]; then
|
||||
echo "[比特骆驼] missing .env — copy from example"
|
||||
cp "$ROOT/.env.example" "$ROOT/.env"
|
||||
# 云上测试机默认直连 OKX
|
||||
sed -i 's/^OKX_HTTP_PROXY=.*/OKX_HTTP_PROXY=/' "$ROOT/.env" || true
|
||||
sed -i 's/^API_PORT=.*/API_PORT=5155/' "$ROOT/.env" || true
|
||||
sed -i 's/^ENV_NAME=.*/ENV_NAME=test/' "$ROOT/.env" || true
|
||||
sed -i 's/^EXCHANGE=.*/EXCHANGE=okx/' "$ROOT/.env" || true
|
||||
echo "[比特骆驼] wrote .env — please review AUTH_* secrets"
|
||||
fi
|
||||
|
||||
if [[ ! -d "$ROOT/.venv" ]]; then
|
||||
python3 -m venv "$ROOT/.venv"
|
||||
fi
|
||||
# shellcheck disable=SC1091
|
||||
source "$ROOT/.venv/bin/activate"
|
||||
pip install -U pip
|
||||
pip install -r "$ROOT/requirements.txt"
|
||||
|
||||
if ! command -v npm >/dev/null 2>&1; then
|
||||
echo "ERROR: npm not found. Install Node.js 18+ first (manage.sh 一键部署会自动装)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
(
|
||||
cd "$ROOT/frontend"
|
||||
if [[ -f package-lock.json ]]; then npm ci; else npm install; fi
|
||||
npm run build
|
||||
)
|
||||
|
||||
if ! command -v pm2 >/dev/null 2>&1; then
|
||||
npm install -g pm2
|
||||
fi
|
||||
|
||||
# 仅 reload 本项目进程,禁止 pm2 restart all
|
||||
pm2 startOrReload "$ROOT/deploy/ecosystem.config.cjs" --update-env
|
||||
pm2 save
|
||||
|
||||
echo "[比特骆驼] done. health: http://127.0.0.1:5155/health"
|
||||
|
||||
Reference in New Issue
Block a user