From 8b6594bf10d8d642572e44d99487ea24dc802c0e Mon Sep 17 00:00:00 2001 From: Steven Date: Fri, 30 Oct 2026 22:25:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E8=84=9A=E6=9C=AC=E5=85=88?= =?UTF-8?q?=E5=BF=AB=E7=85=A7=E5=86=8D=E6=89=A7=E8=A1=8C=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8D=20git=20reset=20=E6=94=B9=E5=86=99=E6=AD=A3=E5=9C=A8?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E7=9A=84=E8=87=AA=E8=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/prod/deploy.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/deploy/prod/deploy.sh b/deploy/prod/deploy.sh index 2b3f300..86680ae 100755 --- a/deploy/prod/deploy.sh +++ b/deploy/prod/deploy.sh @@ -11,6 +11,16 @@ # 首次部署前准备好 ~/.config/dadaotask/env.production(见 env.production.example)。 set -euo pipefail +# 这个脚本会 git reset 自己所在的仓库:bash 按字节偏移边读边执行,脚本被改写后 +# 可能读到新旧混合的内容(实测踩过)——先把自己复制到临时文件再执行。 +if [ -z "${DADAO_DEPLOY_SNAPSHOT:-}" ]; then + _snap=$(mktemp /tmp/dadao-deploy.XXXXXX.sh) + cp "$0" "$_snap" + trap 'rm -f "$_snap"' EXIT + DADAO_DEPLOY_SNAPSHOT=1 bash "$_snap" "$@" + exit $? +fi + APP_DIR=${APP_DIR:-/home/openclaw/app/dadaotask} CONF_DIR=${CONF_DIR:-$HOME/.config/dadaotask} ENV_FILE=$CONF_DIR/env.production