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